如何重写 URL
Posted
技术标签:
【中文标题】如何重写 URL【英文标题】:How to rewrite the URL 【发布时间】:2011-03-04 10:10:07 【问题描述】:我有一个使用 Seam 2.2、Richfaces 3.3、JBoss 5.1 构建的小型应用程序。
大部分页面导航将请求参数添加到目标URL。我想隐藏对正在使用应用程序的客户隐藏的参数(例如,我希望 URL 类似于“http://localhost:8080/books/Book.seam”。参数(userId、orderId 和 cmId)当前映射到后端 bean通过 Book.page.xml。
如何防止请求参数显示在浏览器 URL 中,因为它还允许客户操纵 URL。
我们确实查看了 seam URL 重写功能,它谈到了以 REST 格式操作主键 id,不知道如何以优雅的方式完成像上述用例这样更复杂的事情。
【问题讨论】:
你疯了,使用了如此糟糕的臃肿技术。 如果有帮助,请检查此jtict.com/blog/seam-form-url-rewriting @hendry 我猜你对richfaces 和seam 有很多经验,可以称它们为“非常臃肿”? 【参考方案1】:PrettyFaces 为 JSF 提供 url 重写。
但是,您不能“隐藏”GET 参数。除非您将它们设为 POST 参数。但是默认情况下所有提交都是在 JSF 中的 POST。
【讨论】:
我们尝试过漂亮的面孔,tuckey url 重写过滤器,但无法让它在我们的环境中工作。我们使用了 seam 中的 web:rewrite-filter 并且在生成的 URL 方面取得了相当大的成功,但是当它位于由 EntityQuery 生成的列表页面上时,它变得非常复杂,其中您有排序参数,如 dir、logic、sort除了用于运行查询本身的查询参数之外,在我们的例子中这些参数很多。以上是关于如何重写 URL的主要内容,如果未能解决你的问题,请参考以下文章