JSF アプリケーションにログインを実装していますが、リダイレクトに問題があります。
アプリ内のすべての xhtml でログイン フォームを利用できるようにしたいのですが、ログインが成功または失敗した後、ログインをクリックしたときと同じページにユーザーを保持したいと考えています。
managedBean メソッドで null を返そうとしましたが、webPage が更新されないため機能しません。ビュー ロジックを機能させるには、ページを更新する必要があります。
これはログイン フォームです。
<h:form id="loginForm" rendered="#{!loginBean.estaLogueado()}">
<p:panel header="#{msg.header_login}">
<h:outputLabel for="login" value="#{msg.login}"/>
<p:inputText id="login" value="#{loginBean.usuario}"></p:inputText><br/>
<h:outputLabel for="pwd" value="#{msg.password}"/>
<p:inputText id="pwd" type="password" value="#{loginBean.password}"></p:inputText><br/>
<p:commandButton action="#{loginBean.login()}" value="Login"/>
</p:panel>
</h:form>
<h:form id="logoutForm" rendered="#{loginBean.estaLogueado()}">
Bienvenido #{loginBean.nombreUsuario}!!<br/>
<p:commandButton action="#{loginBean.logout()}" value="Desconectar"/>
</h:form>
そして、これは action 属性のメソッドです:
public String login(){
currentUser = gu.login(usuario, password);
return null;
}
「login.xhtml」のような固定のxhtmlではなく、ユーザーがログインしたxhtmlに戻る方法はありますか??