Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java UrlRewriteFilter出站规则未应用于表单_Java_Jsf 2_Url Rewriting_Servlet Filters_Tuckey Urlrewrite Filter - Fatal编程技术网

Java UrlRewriteFilter出站规则未应用于表单

Java UrlRewriteFilter出站规则未应用于表单,java,jsf-2,url-rewriting,servlet-filters,tuckey-urlrewrite-filter,Java,Jsf 2,Url Rewriting,Servlet Filters,Tuckey Urlrewrite Filter,我已经开始在我的JSF2.0Web应用程序上使用Tuckey的UrlRewriteFilter,除了我网站主页上的表单之外,它工作得很好 以下是出站规则: <outbound-rule> <from>^.*?/faces/search.xhtml(.*)$</from> <to>%{context-path}/search$1</to> </outbound-rule> 表单的“操作”属性将逐字发送到浏览器

我已经开始在我的JSF2.0Web应用程序上使用Tuckey的UrlRewriteFilter,除了我网站主页上的表单之外,它工作得很好

以下是出站规则:

<outbound-rule>
    <from>^.*?/faces/search.xhtml(.*)$</from>
    <to>%{context-path}/search$1</to>
</outbound-rule>
表单的“操作”属性将逐字发送到浏览器:

<form action="/my-context-path/faces/search.xhtml" method="get" onSubmit="return geocode(this);">

我在主页上有一些用于预定义搜索的JSF中的超链接h:link,它们根据出站规则被重写得很好。我甚至尝试删除“^”,然后删除“^”和$,但没有任何更改。有什么想法吗?

现在我已经深入了解了这一点,过滤器似乎不是在扫描呈现的页面,而是在拦截encodeUrl并在那里执行重写。我将看看我能在JSF中做些什么,而不破坏URLEwriteFilter提供的抽象。我不确定,因为我从未在JSF上使用过URLEwriteFilter,但我只是想知道是否有任何理由不使用JSF目标的PrettyFaces?它正确地钩住了JSF生命周期的细节,我现在决定打破URL重写抽象,直接将漂亮的动作放到表单中。不太好,但我必须前进。