2010-12-21 40 views
0

我在menu.xhtml上的commandlink无法正常工作。我有我的menu.xhtml在WebContent下的模板文件夹和WebContent下的pages文件夹中的list.xhtml。当我点击我的menu.xhtml中的链接时,它没有去list.xhtml页面,但它确实达到了被调用的方法。JSF导航规则在菜单上不起作用

名为menu.xhtml

<h:commandLink action="#{UserManagerBean.goListPage}"> 
         <h:outputText value="List"/>  
        </h:commandLink> 

faces-config.xml中

<navigation-rule> 
     <display-name>template/menu.xhtml</display-name> 
     <from-view-id>/template/menu.xhtml</from-view-id> 
     <navigation-case> 
      <from-action>#{UserManagerBean.goListPage}</from-action> 
      <from-outcome>success</from-outcome> 
      <to-view-id>/pages/list.xhtml</to-view-id> 
      <redirect /> 
     </navigation-case> 
    </navigation-rule> 

请帮帮我,谢谢。

+0

将您的代码发布到'menu.xhtml'中 - 链接和来自'faces-config.xml'的导航规则 – Gaim 2010-12-21 09:36:11

+1

你确定你的方法返回'success'吗? – 2010-12-21 09:39:36

+0

是的,我确定它返回成功 – aFish 2010-12-21 09:41:27

回答

1

这似乎与

<from-view-id>/template/menu.xhtml</from-view-id> 

我认为你是包括在一些页面此菜单模板的一部分的问题。

尝试只是改变

<from-view-id>/pages/*</from-view-id> 

但在这里,你必须确保你的#{UserManagerBean.goListPage}不会被调用任何其他页面从/pages/或相应处理。

+0

我曾尝试过以上建议,但它仍然相同 – aFish 2010-12-21 09:50:29

+0

@aFish检查更新'/pages/*'这将工作 – 2010-12-21 10:14:33

+0

海, view-id>/pages/*它起作用。我可以知道为什么吗?我的模板位于模板文件夹,它应该是/template/*,但为什么/pages/*?非常感谢您 – aFish 2010-12-23 01:12:49