Templates jsf标题导航菜单-模板
我有如下模板: 我添加菜单导航:Templates jsf标题导航菜单-模板,templates,jsf,jsf-2,Templates,Jsf,Jsf 2,我有如下模板: 我添加菜单导航: <h:form id="form"> <div id="page"> <div id="header"> <ui:insert name="header" > <ui:include src="/pages/template/header.xhtml" /> </ui:insert>
<h:form id="form">
<div id="page">
<div id="header">
<ui:insert name="header" >
<ui:include src="/pages/template/header.xhtml" />
</ui:insert>
<f:ajax render="ContentLoader">
<h:commandLink actionListener="#{contentPage.setPage('/pages/first.xhtml')}" value="About Us" />
<h:commandLink actionListener="#{contentPage.setPage('/pages/login.xhtml')}" value="Contact Us" />
</f:ajax>
</div>
<h:panelGroup id="ContentLoader" >
<div id="content">
<ui:insert name="content" >
<ui:include src="#{contentPage.page}" />
</ui:insert>
</div>
</h:panelGroup>
</div>
</h:form>
链接工作正常,但我使用内容中的
重定向内容时遇到问题
我如何解决这个问题?
也许是我的布局有问题?
或者如何正确地从内容重定向到另一个内容,使用内容中的按钮?至于您的具体问题,可能是由
和视图范围bean的组合造成的。只有升级到至少Mojarra 2.1.18时,此构造才有效。否则,视图作用域bean将无法恢复并重新创建,因此当解码页面内的任何表单操作时,将考虑默认值{contentPage.page}
。升级到至少Mojarra 2.1.18应该可以解决您的问题。你可以在。现在已经是2.1.25了
至于您的具体功能需求,使用命令链接/按钮进行简单的页到页导航是一个不错的选择。您应该为此使用输出链接/按钮
<h:button value="navigate" outcome="link" />
或
这不是重定向/导航的方式。您需要为action
提供支持bean的方法绑定,返回类型为String
,下一页的路径作为值。是的,我发现最好的方法是在faces-config中实现链接,然后bean的方法将只返回名为page.ah okey的字符串,现在我明白了:)binding replace action;]@诺恩:不真实-再次,只是没有人:请不要理会他的建议,他不知怎的以为这永远不会奏效。使用只返回静态字符串的bean操作方法只会增加不必要的混乱。@BalusC那么h:commandButton
()的文档并没有给出任何提示,说明这可能也会起作用。所以,是的,我不知怎的以为这永远不会奏效。。。“类型:javax.el.MethodExpression
(签名必须匹配java.lang.Object action()
)”似乎相当严格。
<h:link value="navigate" outcome="link" />