我从Prettyfaces 3.3.3和JSF 2.1.7中得到了一个非常奇怪的行为。
事实上,当我进行这种映射时:
<url-mapping id="admin-home">
<pattern value="/adminpage" />
<view-id value="pages/admin/page.jsf" />
</url-mapping>
一切都按预期工作,当我致电pretty:admin-home
时,重定向已完成,我得到正确的页面。
现在当我使用这个映射时:
<url-mapping id="admin-home">
<pattern value="/admin/home" />
<view-id value="pages/admin/page.jsf" />
</url-mapping>
注意admin
和home
是分开的。调用pretty:admin-home
时,我发现404未找到错误。它告诉我,找不到的页面是:
admin/pages/admin/page.jsp
答案 0 :(得分:0)
我认为这是因为您的viewId不以/
字符开头。我的猜测是,当PrettyFaces将请求转发给viewId时,转发将相对于请求的URL发送。这可以解释404错误。
所以请尝试使用它:
<url-mapping id="admin-home">
<pattern value="/admin/home" />
<view-id value="/pages/admin/page.jsf" />
</url-mapping>