【问题标题】:Navigation with Facelets template not working使用 Facelets 模板的导航不起作用
【发布时间】:2011-11-11 16:31:18
【问题描述】:

我在使用 Facelets 时遇到了一些导航问题。

我的主模板在/WEB-INF:

<h:body>
    <div id="container">
        <div id="header">
            <ui:insert name="header">Header</ui:insert>
        </div>

        <div id="navigation">

            <a href="ram.xhtml">RAM</a>
            <a href="mobo.xhtml">Motherboard</a>
            <a href="video.xhtml">Video Card</a>
        </div>

        <div id="content">
            <ui:insert name ="content"></ui:insert>
        </div>

    </div>
</h:body> 

然后是 2 个看起来完全相同的模板客户端,index.xhtmlram.xhtml

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets"
                template="./WEB-INF/layoutTemplate.xhtml">

    <ui:define name="header">
       some text
    </ui:define>

    <ui:define name="content"> 
        some content
    </ui:define>


</ui:composition>

如果这些页面中的任何一个被设置为web.xml 中的欢迎页面,则它们会正确呈现,并使用 CSS 和所有内容。但是,如果我尝试使用我得到的链接从一个页面导航到另一个页面

此 XML 文件似乎没有任何与之关联的样式信息。文档树如下所示。

任何提示将不胜感激。

【问题讨论】:

    标签: jsf navigation facelets


    【解决方案1】:

    这意味着请求 URL(显示在浏览器地址栏中)与 FacesServlet 的 URL 模式不匹配,如 web.xml 中定义的那样。

    那些链接

    <a href="ram.xhtml">RAM</a>
    <a href="mobo.xhtml">Motherboard</a>
    <a href="video.xhtml">Video Card</a>
    

    期望FacesServlet 映射到*.xhtml。但是如果它被映射到例如*.jsf 并且出于某种原因将其更改为*.xhtml 不是一个选项(但我强烈推荐它),那么您需要修复链接

    <a href="ram.jsf">RAM</a>
    <a href="mobo.jsf">Motherboard</a>
    <a href="video.jsf">Video Card</a>
    

    或者,更好的是,只需使用&lt;h:link&gt;。它将隐式附加正确的上下文路径和FacesServlet 映射:

    <h:link value="RAM" outcome="ram" />
    <h:link value="Motherboard" outcome="mobo" />
    <h:link value="Video Card" outcome="video" />
    

    另见:

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-18
    • 2019-03-05
    • 1970-01-01
    • 2018-07-22
    相关资源
    最近更新 更多