Im在JSF應用程序中實現登錄,並且重定向時出現問題。如何從JSF中的managedBean重新加載相同的頁面?
我想在應用程序中的每個xhtml中提供登錄表單,但在登錄成功或失敗後,我希望將用戶保留在單擊登錄時所在的同一頁面中。
我試圖在managedBean方法中返回null,但這並不工作,因爲它不刷新網頁,我需要刷新頁面的視圖邏輯工作。
這是登錄表單:
<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;
}
有一種方法可以返回到用戶loged,不是的XHTML像「login.xhtml」這樣的固定xhtml?
第二種解決方案對我無效。 – JPerk 2017-10-24 20:44:49