如何在我的导航栏中单击某个项目时重定向到另一个页面

时间:2011-04-20 11:28:09

标签: java jsf java-ee jsf-2 primefaces

我使用名为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";
    }
...

如您所见,我试图返回String形式的支持bean方法,但不起作用。

当我点击p:menuItem时,你能帮我找到重定向的方法吗?

你知道可能有些javascript技巧或者类似的东西我可以用来点击时重定向吗?

1 个答案:

答案 0 :(得分:4)

使用

return "main.xhtml?faces-redirect=true";