# jsf 2.1 navigation rule doesn't work



## NoXiD (18. Sep 2013)

Hallo,
habe folgendes Problem:

login.xhtml

```
<h:body>

	<p:fieldset legend="-User Authentication-" id="test"> 
		<h:panelGrid columns="2" cellpadding="10">   
       		<h:outputLabel for="username" value="Username:" />
       		<p:inputText id="username" value="#{userBean.username}"></p:inputText>
       		
       		<h:outputLabel for="password" value="Password:"/>
       		<p:password id="password" value="#{userBean.password}"></p:password>
       		
       		
       	</h:panelGrid>
       	<p:commandButton value="login" id="loginbutton" action="#{userBean.doLogin()}"></p:commandButton>
	</p:fieldset> 
	
</h:body>
```

die doLogin() Methode macht folgendes:

```
public String doLogin(){
		if(this.username.equalsIgnoreCase("admin") && this.password.equalsIgnoreCase("test")){
			return "success";
		}
		return "fail";
	}
```
und in der Faces Config habe ich die Navigation Rule definiert:
[XML] <navigation-rule>
  <from-view-id>/login.xhtml</from-view-id>
  <navigation-case>
   <from-action>#{userBean.doLogin}</from-action>
   <from-outcome>success</from-outcome>
   <to-view-id>/index.xhtml</to-view-id>
  </navigation-case>
 </navigation-rule>[/XML]

Komischerweise funktioniert die Weiterleitung aber nicht, *obwohl* laut Debugger die Funktion doLogin() success zurückgibt...

stehe da grad ein wenig an... Danke für eure Hilfe!


----------



## geqoo (18. Sep 2013)

Mal probiert, vor login.xhtml das / wegzulassen?

Alternativ evtl. mal das return-Statement erweitern:

return "success?faces-redirect=true";


----------



## NoXiD (18. Sep 2013)

danke schon mal für die schnelle Antwort.

hab jetzt mal 
	
	
	
	





```
success?faces-redirect=true
```
 und das "/" vor login.xhtml entfernt, nachwievor das gleiche Problem :/

Ich weiß zwar das es in JSF 2.1 schon möglich ist die Seite direkt per return Statement aufzurufen (funktioniert auch), aber ich persönlich finde es mit Navigation Rules übersichtlicher.


----------



## JimPanse (18. Sep 2013)

Hi,

es fehlt die form:

[XML]

<h:body>
<h:form>
	<p:fieldset legend="-User Authentication-" id="test"> 
		<hanelGrid columns="2" cellpadding="10">   
       		<hutputLabel for="username" value="Username:" />
       		<p:inputText id="username" value="#{userBean.username}"></p:inputText>

       		<hutputLabel for="password" value="Password:"/>
       		<password id="password" value="#{userBean.password}"></password>


       	</hanelGrid>
       	<p:commandButton value="login" id="loginbutton" action="#{userBean.doLogin()}"></p:commandButton>
	</p:fieldset> 
</h:form>	
</h:body>
[/XML]


----------



## NoXiD (19. Sep 2013)

klar, die Form >.>

Danke, bin schon etwas Blind was html angeht...


----------

