我使用了一个名为dock的导航工具,来自primefaces。当我点击其中一个项目时,我需要重定向到另一个页面。问题是,我需要找到url属性的替代方案,这是因为如果我使用它,页面会被重定向,action属性不会调用应该调用的方法。
我的导航栏是这样的:
<h:form>
<p:dock position="top">
<!--Some other menu items ...-->
<p:menuitem value="Logout" icon="unsecuredimages/logout.png" action="#{securityController.logOut}" rendered ="#{!securityController.checkLogged}"/>
</p:dock>
</h:form>
这是调用来执行注销的支持bean。它工作得很好,唯一的问题是我没有被重定向。
@ManagedBean
@RequestScoped
public class SecurityController {
@EJB
private IAuthentificationEJB authentificationEJB;
public String logOut() {
authentificationEJB.releaseUserState();
return "main.xhtml";
}
...
如您所见,我试图从backing bean方法返回一个String,但不工作。
你能帮我找到重定向的方式,当我点击p:菜单项?
你知道也许一些javascript技巧或类似的东西,我可以用它来重定向当我点击?
使用
return "main.xhtml?faces-redirect=true";