style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">

Como crear las navegaciones condicionales en JSF2.0, tomcat 7.0

Buen dia;
Estoy realizando una pagina en JSF 2.0, al realizar la pag de login.xhtml tengo una validacion mediante el javabean, al precionar aceptar el boton me regresara un String que lo utilizo para el "faces-config.xml" si el ususario y contraseña son los correctos me regresa cas1, el siguiente ususario y contraseña me regresa case2 y por ulktimo el tercer usuario me regresara case3.

les adjunto el login xhtml

<h:commandButton id="pop1" action="#{login.back()}" value="Aceptar" >
</h:commandButton>

ahora les adjunto la clase

public String back(){
//ing
if (usuario.equals("Ingeniero") && contraseña.equals("case3")) {
System.out.println("Eres inge");
setRegreso("case3");
}else if(!contraseña.equals("case3")&&usuario.equals("Ingeniero")) {
System.out.println("No soy ing");
setMsg("Usuario y/o contraseña incorrectas");
}

//tecnico
if (usuario.equals("Tecnico") && contraseña.equals("case2")) {
System.out.println("Eres tecnico");
setRegreso("case2");
}else if(!contraseña.equals("case2")&&usuario.equals("Tecnico")) {
System.out.println("No soy tecnico");
setMsg("Usuario y/o contraseña incorrectas");
}

//operador
if (usuario.equals("Operador") && contraseña.equals("case1")) {
System.out.println("Eres operador");
setRegreso("case1");
}else if(!contraseña.equals("case1")&&usuario.equals("Operador")) {
System.out.println("No soy operador");
setMsg("Usuario y/o contraseña incorrectas");
}

//selecciona
if (usuario.equals("Selecciona...")) {
System.out.println("Ususario incorrecto");
setMsg("Usuario incorrecto");
}
System.out.println("que regreso? "+regreso);
return regreso;

ahora les adjunto als reglas de navegacion:

<navigation-rule>
<from-view-id>/login.xhtml</from-view-id>
<navigation-case>
<from-action>#{login.back()}</from-action>
<from-outcome>case1</from-outcome>
<to-view-id>/Operador.xhtml</to-view-id>
</navigation-case>
<navigation-case>
<from-action>#{login.back()}</from-action>
<from-outcome>case2</from-outcome>
<to-view-id>/Tecnico.xhtml</to-view-id>
</navigation-case>
<navigation-case>
<from-action>#{login.back()}</from-action>
<from-outcome>case3</from-outcome>
<to-view-id>/ing.xhtml</to-view-id>
</navigation-case>
</navigation-rule>

En si lo unico que quiero hacer para tal ususario y contraseña tal pagina en *.xhtml, pero no hace nada ya eh revisado algunos tutoriales pero no doy pie con bola.

Alguien me podria ayudar ??

Gracias de antemano
Miguel V.
Chihuas cap.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Eso que estas haciendo de

Eso que estas haciendo de reglas de navegacion solo aplica para JSF 1.2. Una de las mejores caracteristicas de JSF 2.0 es que maneja navegacion implicita desde el .xhtml

Por ejm. Lo que en jsf 1.2 se hacia como:

<navigation-rule>
   <from-view-id>page1.xhtml</from-view-id>
   <navigation-case>
       <from-outcome>next</from-outcome>
       <to-view-id>/page2.xhtml</to-view-id>
   </navigation-case>
</navigation-rule>

En JSF 2.0 se hace asi:

<h:commandButton action="page2" value="Submit" />

Asi que en JSF 2.0 lo unico que tendrias que hacer es trabajar desde tu managed bean para que te regrese el string apropiado dependiendo del resultado de tu login.

Saludos

Imagen de cororo

Buen dia; Gracias por la

Buen dia;
Gracias por la rspuesta, dejame intentarlo.

Miguel V.
Chihuas cap.

Hay muchos tutoriales que

Hay muchos tutoriales que explican mejor que yo los features de JSF 2.0. Te sugiero que cheques alguno. Saludos

style="display:inline-block;width:728px;height:90px"
data-ad-client="ca-pub-5164839828746352"
data-ad-slot="7563230308">