我正在尝试提交页面并转发到新的JSP。
h:outputlink
只会在不提交页面的情况下将我发送到新链接。
h:commandlink
要求我实现一个支持bean函数和导航规则,如果我有很多链接将我发送到很多页面,这个规则非常复杂。
我认为必须有一种方式以更简单的方式提交和导航到新页面。
任何? TNX!
更新:使用下一个导航规则与Bozho答案结合使用。 适用于Chrome但适用于IE和Firefox :(不起作用意味着重定向不会发生,浏览器会重新加载同一页面)
此组件:(缩短)
<rich:panelMenu mode="server">
<rich:panelMenuItem styleClass="configChooserButton" icon="images/email.png"
disabledClass="configChooserButtonDisabled">
<h:commandLink value="Email (#{email.numOfInstances})" action="email" />
</rich:panelMenuItem>
</rich:panelMenu>
使用此导航规则:
<navigation-rule>
<from-view-id>*</from-view-id>
<navigation-case>
<from-outcome>email</from-outcome>
<to-view-id>/emailConfiguration.jsp</to-view-id>
</navigation-case>
</navigation-rule>
答案 0 :(得分:3)
是 - 在action
的{{1}}属性中指定导航结果的名称(在<h:commandLink>
中定义)
答案 1 :(得分:2)
添加Bozho的正确答案; OP没有指定使用哪个版本的JSF,但在JSF 2.0中有implicit navigation
的概念。
这意味着没有XML导航规则的导航。
例如,如果您想从某个页面转到名为“new_page.xhtml”的页面,则可以使用以下内容:
<h:commandButton value="something" action="new_page" />
(作为使用JSF的额外建议,如果可能的话,试着忘记JSP并使用Facelets。这里的JSP只是一个很大的痛苦) < / p>