【问题标题】:JSF links not working on FaceletsJSF 链接在 Facelets 上不起作用
【发布时间】:2012-06-18 08:49:31
【问题描述】:

我创建了一个使用 Facelets 定义页面结构的 JSF 2 页面。

<div class="page">
    <div class="content">
        <ui:insert name="content">

        </ui:insert>
    </div>
    <div class="footer">
        <ui:include src="footer.xhtml" />
    </div>
</div>

这是footer.xhtml

<h:commandButton value="Link Page 1"  action="page1.xhtml" />     
<h:commandButton value="Link Page 2" action="page2.xhtml" />

如您所见,在 footer.xhtml 中我有一些用于在页面之间移动的按钮。

不幸的是,当按钮被放入 footer.xhtml 页面时,导航不起作用。另一方面,如果它们被放置在主 div(内容)中,它们就可以正常工作。

有没有办法让它们也可以在页脚中工作?

附:我在 JBoss 应用服务器 7 上的环境 Java 1.6 谢谢 琳达

【问题讨论】:

    标签: jsf jakarta-ee jsf-2 facelets


    【解决方案1】:

    对于纯导航,您应该使用h:button 而不是h:commandButton。后者确实需要 Kris 所说的环绕形式。

    如果您按以下方式更改按钮,则无论您将它们放在页面的哪个位置,它们都应该可以工作:

    <h:button value="Link Page 1" outcome="page1" />
    <h:button value="Link Page 2" outcome="page2" />
    

    .xhtml 后缀由 JSF 附加。

    【讨论】:

    【解决方案2】:

    如果您不将它们放入表单元素 &lt;h:form&gt;&lt;/h:form&gt;,您的 commandButton/commandLink 元素将无法工作。 请记住将正确的命名空间添加到您的 &lt;ui:composition&gt; 元素 'xmlns:h="http://java.sun.com/jsf/html'

    【讨论】:

    • 谢谢。真丢人!我忘了把它包含在一个表格中。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2011-02-10
    • 2011-06-29
    • 2012-07-15
    • 2010-09-18
    • 2011-12-08
    • 2014-06-26
    • 2019-01-24
    • 2015-09-19
    相关资源
    最近更新 更多