这可能是一个简单的问题,但我不知道答案。
我有一个项目,myProject。在webContent中我有文件home.xhtml,leave.html和我有2个其他文件夹:猫和狗。在猫直接我有一个页面cat.xhtml,并在目录狗我有一个页面dogs.xhtml。
我想从每个页面(家,猫,狗)到页面leave.html
在每个文件中都有一个commandLink
<h:form>
<h:outputLink value="leave.html" action="#{myBean.leave}">
<f:verbatim>Leave</f:verbatim>
</h:outputLink>
</h:form>
方法myBean
中的 leave
返回字符串“leave”
<navigation-rule>
<from-view-id>*</from-view-id>
<navigation-case>
<from-outcome>leave</from-outcome>
<to-view-id>/leave.html</to-view-id>
</navigation-case>
</navigation-rule>
但这不起作用。
我也试过使用<to-view-id>../leave.html</to-view-id>
或者添加一个新的文件夹,并在那里放置leave.html页面。
我使用<to-view-id>/leave/leave.html</to-view-id>
或
<to-view-id>/../leave.html</to-view-id>
但所有结果都与HTTP Status 404 /myProject/cats/leave.htlm相同 类型状态报告
消息/myProject/cats/leave.htlm
description请求的资源(/myProject/cats/leave.htlm)是 不可用。
答案 0 :(得分:3)
您的导航无法正常工作,因为页面始终为“leave.html”。 h:outpuLink使用value属性进行导航。 我建议你使用h:commandLink并使用value属性显示链接(Leave)和from-outcome字符串的action属性。
<h:commandLink value="Leave" action="#{myBean.leave}">