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