0

在 JSF 中,我想从下拉菜单中重定向页面。当我使用faces-configusing时它会重定向navigation-rule

<navigation-rule>
  <from-view-id>*</from-view-id>    
  <navigation-case>
   <from-outcome>test</from-outcome>
   <to-view-id>/pages/design/TestDetails.xhtml</to-view-id>
   <redirect/>
  </navigation-case>
</navigation-rule> 

但是当我尝试直接传递 URL 时,我无法重定向:

<rich:menuItem label="someLabel" action="/pages/design/TestDetails.xhtml" />

我的代码有什么问题?

4

2 回答 2

0

RichFaces 的新手,在下面的 javascript 解决方案中发现,似乎有效:

   <rich:dropDownMenu mode="client" label="Navigate">
        <rich:menuItem label="Page - 1" onclick="document.location.href='samplePage.jsf'" />
        <rich:menuItem label="Page - 2" onclick="document.location.href='samplePage2.jsf'" />
    </rich:dropDownMenu>
于 2015-04-01T02:40:55.807 回答
0

基本上你应该navigation-rule在 JSF 的字段中使用action(这就是它们的用途)。但是,如果您想直接输入 URL,那么只需添加?faces-redirect=true它(相当于<redirect/>in navigation-rule):

<rich:menuItem label="someLabel" action="/pages/design/TestDetails.xhtml?faces-redirect=true" />

(请注意,您需要放置完整路径,而不仅仅是TestDetails?faces-redirect=true@Omar 在评论中建议的那样。)

另外:<from-view-id>*</from-view-id>可以在这样的规则中省略。

于 2015-08-25T11:05:10.663 回答