【发布时间】:2013-03-14 10:14:13
【问题描述】:
使用 Tomcat 7 --- Primefaces 3.4.1 --- javax faces 2.1.17 --- prettyfaces-jsf2 3.3.3
我在项目中正确配置了漂亮的面孔,但我的网络过滤器无法使用漂亮面孔编写的新网址。
这是一个漂亮的配置.xml 示例
<url-mapping id="home">
<pattern value="/home"/>
<view-id value="/secure/homepage.xhtml"/>
</url-mapping>
<url-mapping id="register">
<pattern value="/register"/>
<view-id value="/public/register.xhtml"/>
</url-mapping>
<url-mapping id="welcome">
<pattern value="/"/>
<view-id value="/public/welcome.xhtml"/>
</url-mapping>
<url-mapping id="profile">
<pattern value="/profile/#{userId}"/>
<view-id value="/profile.xhtml"/>
</url-mapping>
login(welcome) 和 register 页面位于“public”文件夹中,它们的 web 过滤器使用注释定义:@WebFilter("/public/*")
对于我在“安全”文件夹中的主页(文件夹中确实会有更多页面),我还定义了一个网络过滤器及其注释:@WebFilter("/secure/*)
漂亮的网址工作正常,但这些过滤器只有在我编写原始网址时才有效。
1) 如何修复我的网络过滤器?
2) 我也想阻止用户输入原始网址。我知道漂亮的面孔完全隐藏了原始网址,但有没有办法做到这一点?
-- 已解决 -- 感谢 BalusC
如果您使用注释定义过滤器,则可以配置调度程序设置,如
@WebFilter(urlPatterns = "/public/*", dispatcherTypes = {DispatcherType.REQUEST, DispatcherType.FORWARD})
【问题讨论】:
标签: jsf jsf-2 primefaces prettyfaces