我遇到了Pretty Faces URL映射问题。
我有一个带有以下映射的托管bean:
@ManagedBean
@RequestScoped
@URLMapping(id = "search", pattern = "/search/", viewId = "/search/search.xhtml")
当我去http://ip/search/?keywords=word时,它工作正常。
但是,当我尝试更改映射模式时,我收到了错误。
@ManagedBean
@RequestScoped
@URLMapping(id = "search", pattern = "/search", viewId = "/search/search.xhtml")
我希望http://ip/search?keywords=word给出与上面链接相同的响应,但不幸的是我收到404 HTTP错误。
search.xhtml位于JBoss 6.1.0 final上部署的Web项目的WebContent / search /文件夹中。
有趣的是,当我使用JBoss 5.1.0和Pretty Faces 3.2.0和JSF 1.2时,映射工作正常(当然,在这种情况下,所有映射都是通过XML配置完成的)。
我很感激任何答案,谢谢!
答案 0 :(得分:0)
您是否尝试过版本3.3.2的PrettyFaces?那里有一些错误。此外,您是否尝试过完全刷新页面和浏览器缓存?有时重定向会被浏览器缓存。
此外,如果情况变得更糟,我建议调试com.ocpsoft.pretty.faces.PrettyFilter,看看里面发生了什么。
还要确保您没有任何其他会影响映射的URL重写配置,例如尾部斜杠追加或类似的东西。
答案 1 :(得分:0)
存储 .xhtml 文件的文件夹名称与 pattern 值之间存在冲突,因此如果文件夹名称与模式值,映射不起作用。
在我的情况下,我必须将文件夹名称搜索更改为 search_pages ,并且映射开始正常工作 - 现在可以访问 http: // ip:port / search?keywords = keyword 并获得适当的结果。
我不知道Pretty Filter是否假设这种行为,但对我来说,它看起来有点奇怪。