【问题标题】:Tuckey UrlRewrite filter doesn't work properly with JSF formsTuckey UrlRewrite 过滤器不适用于 JSF 表单
【发布时间】:2011-12-08 19:37:08
【问题描述】:

我在我的 JSF 应用程序中集成了 Tuckey UrlRewrite filter。我的网址现在看起来像:

http://localhost:8080/myapp/page

而不是

http://localhost:8080/myapp/faces/page.xhtml

问题是我的 JSF 表单提交到旧网址

http://localhost:8080/myapp/faces/page.xhtml

我收到了FacesFileNotFoundException

我该如何解决这个问题?

【问题讨论】:

    标签: jsf jsf-2 url-rewriting tuckey-urlrewrite-filter


    【解决方案1】:

    您必须实现自定义 ViewHandler 并覆盖 getActionURL() 方法以返回所需的表单操作 URL。这就是表单获取其操作 URL 的地方。顺便说一句,这也是 JSF URL 重写解决方案 PrettyFaces 所做的。您可能想要使用它而不是重新发明同一个轮子。顺便说一下,它是开源的,所以你可以看看它的源代码,看看他们是如何做到的。

    【讨论】:

    • 好吧,我首先尝试使用 prettyFaces,但它不支持通用 url 映射,我必须为每个 bean 进行映射,即使为每个 bean 进行映射,我也会感到有些奇怪有关重复映射 ID 的错误。
    • 通用 URL 映射仍处于 beta/snapshot 阶段。您必须报告任何问题并等待带有这些修复程序的最终版本。至于以正常方式制作单独的映射,请确保您没有使用 beta 版本。
    • 你能在这里给我任何猜测吗:stackoverflow.com/questions/7758777/…我在漂亮的论坛上发布了这个问题,但他们对这种行为没有任何想法。
    • 我不能,因为我完全不知道 Spring 在这里的影响力。我不使用弹簧。我只使用标准的 Java EE 堆栈。也许我可以猜到你是否创建了一个 没有 Spring 的概念(即带有 PrettyFaces 的纯 Java EE 6)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-21
    • 1970-01-01
    • 2023-01-31
    • 1970-01-01
    • 1970-01-01
    • 2012-10-27
    • 2012-05-04
    相关资源
    最近更新 更多