![](/img/trans.png)
[英]How can I convert this Apache Rewrite rule into a Tuckey UrlRewriteFilter Rule?
[英]How can i Use Tuckey URL Rewrite with ADF Essentials?
在ADF 11.1.2.4(JSF2.0 -GF 3.1.2)上开发,期望为漂亮的url实现urlrewrite。 添加到web.xml中:
<filter>
<filter-name>UrlRewriteFilter</filter-name>
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
<init-param>
<param-name>logLevel</param-name>
<param-value>WARN</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
创建的urlrewrite.xml如
<rule>
<from casesensitive="false">myTest</from>
<use-context>true</use-context>
<to>/faces/admin/admin.jspx</to>
</rule>
admin.jspx包含TF。 当我部署项目并请求主机名:9999 / mytest重定向正确的页面(主机名:9999 / faces / admin / admin.jspx)时,页面呈现没有问题。 但是我的实际目标是让供应商看到真正的URL。 但是我可以在浏览器上看到真实的网址,例如:(... jspx?_adf.ctrl-state = 4avl71cil_1)那么,我想念的是什么? 顺便说说; 当我输入被屏蔽的网址时,它会重定向我的真实页面,因此效果很好。 但似乎是浏览器地址栏上的真实网址。 如果我只在'faces'上下文之外使用html页面,则urlrewrite可以按预期工作。 Thx,brgds
由于具有Tucky URL Rewriting过滤器,因此ADF附带了其JSF View Handler,并且在ADF 12.1.x之前,除非使用Apache Server Rewrites或Oracle HTTP Server,否则您将无法转发URL,因为ADF内部过滤器看起来像对于_adf.ctrl状态,如果找不到它,则会将其附加到显示页面实际URL的URL上。
您可以尝试通过扩展ServletRequest来破解那些_adf.ctrl状态,并在被问到_adf.ctrl状态以提供会话中保存的最后一个值时,但我向您保证,这将对应用程序非常有害。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.