使用 Tomcat 7 --- Primefaces 3.4.1 --- javax faces 2.1.17 --- prettyfaces-jsf2 3.3.3
我在我的项目中正确配置了漂亮的面孔,但我的网络过滤器无法使用由漂亮面孔编写的新网址。
这是一个示例 pretty-config.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/*")
对于我在“安全”文件夹中的主页(文件夹中确实会有更多页面),我还定义了一个 Web 过滤器及其注释:@WebFilter("/secure/*)
漂亮的网址工作正常,但这些过滤器仅在我编写原始网址时才有效。
1) 如何修复我的网络过滤器?
2)我还想阻止用户输入原始网址。我知道漂亮的面孔完全隐藏了原始网址,但有没有办法做到这一点?
--已解决-- 感谢 BalusC
如果您使用注释定义了过滤器,则可以配置调度程序设置,例如
@WebFilter(urlPatterns = "/public/*", dispatcherTypes = {DispatcherType.REQUEST, DispatcherType.FORWARD} )