【问题标题】:JSF h:Link Navigation rule 404JSF h:链接导航规则 404
【发布时间】:2014-10-10 00:57:15
【问题描述】:

我有这个结构:

在我的 header.xhtml 中,我有一个像这样的 h:link:

<h:link value="Login page" outcome="account" />

还有 faces-config.xml 中的这个导航规则:

<navigation-rule>
    <from-view-id>/index.xhtml</from-view-id>
    <navigation-case>
        <from-outcome>account</from-outcome>
        <to-view-id>/users/accountIndex</to-view-id>
    </navigation-case>
</navigation-rule>

但是当单击链接时我得到 404,我不明白...尝试更改 de web.xml 和/或 faces-config.xml 但我什么也没得到...

这是 h:link 的网址:

http://localhost:8080/catastrophes-system-web/faces/users/accountIndex

这里是我用于映射的 web.xml:

<welcome-file-list>
    <welcome-file>faces/index.xhtml</welcome-file>
</welcome-file-list>
<servlet>
   <servlet-name>Faces Servlet</servlet-name>
   <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
   <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
   <servlet-name>Faces Servlet</servlet-name>
   <url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
   <servlet-name>Faces Servlet</servlet-name>
   <url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<servlet-mapping>
   <servlet-name>Faces Servlet</servlet-name>
   <url-pattern>*.faces</url-pattern>
</servlet-mapping>
<servlet-mapping>
   <servlet-name>Faces Servlet</servlet-name>
   <url-pattern>*.xhtml</url-pattern>
</servlet-mapping>

谢谢!

【问题讨论】:

    标签: html xml jsf xhtml


    【解决方案1】:

    您同时使用 servlet 映射和前缀映射可能会混淆 servlet。来自规范:

    JSF 实现必须支持定义一个 将任何有效的 url 模式映射到 FacesServlet。可以使用前缀或扩展名映射

    您应该坚持扩展映射或在 faces-config 导航规则中包含 faces

    【讨论】:

    • 更改扩展映射但现在http://localhost:8080/catastrophes-system-web/users/accountIndex.xhtml get java.io.FileNotFoundException
    猜你喜欢
    • 1970-01-01
    • 2014-04-26
    • 2013-10-22
    • 2011-07-05
    • 1970-01-01
    • 1970-01-01
    • 2012-05-04
    • 1970-01-01
    • 2012-02-05
    相关资源
    最近更新 更多