JSF导航生成错误的URL

时间:2014-05-01 19:11:42

标签: url netbeans navigation jsf-2.2

我制作了一个名为Sport的简单应用程序。当我测试它时,主页( index.xhtml )会正确显示,并且网址为:
http://localhost:8080/Sport

当我点击导航菜单中的某个项目(例如Teams)时,所请求的页面( teams.xhtml )会正确显示,但网址如下所示:
{{1} }

之后,我点击另一个项目,例如体育场。系统会显示 stadiums.xhtml 页面,但网址为:http://localhost:8080/Sport/index.html;jsessionid=C9B3379254D6E21A6A2EA90775710108

此行为继续。看起来URL总是落后于实际页面一步。

名为menu.xhtml:

http://localhost:8080/Sport/teams.xhtml

面-config.xml中:

...
<h:commandLink value="#{msgs.home}" action="home" />
<h:commandLink value="#{msgs.teams}" action="teams" />
<h:commandLink value="#{msgs.stadiums}" action="stadiums" />
...

的web.xml:

...
<navigation-rule>
    <from-view-id>*</from-view-id>
    <navigation-case>
        <from-outcome>home</from-outcome>
        <to-view-id>/index.xhtml</to-view-id>
    </navigation-case>
    <redirect/>
</navigation-rule>
<navigation-rule>
    <from-view-id>*</from-view-id>
    <navigation-case>
        <from-outcome>stadiums</from-outcome>
        <to-view-id>/stadium.xhtml</to-view-id>
    </navigation-case>
    <redirect/>
</navigation-rule>
<navigation-rule>
    <from-view-id>*</from-view-id>
    <navigation-case>
        <from-outcome>teams</from-outcome>
        <to-view-id>/team.xhtml</to-view-id>
    </navigation-case>
    <redirect/>
</navigation-rule>
...

我正在使用JSF2.2库(在NetBeans 7.4中) 有什么想法吗?

1 个答案:

答案 0 :(得分:2)

看起来它生成了错误的URL,但这是导航时的默认JSF操作。

以下页面在JSF中的页面转发与页面重定向有很好的例子。

http://www.mkyong.com/jsf2/jsf-page-forward-vs-page-redirect/