Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Templates jsf标题导航菜单-模板_Templates_Jsf_Jsf 2 - Fatal编程技术网

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" />