@JFinal 你好,想跟你请教个问题: 我和其它项目一样,添加了urlrewrite-3.2.0.jar包,在web.xml里也加上了UrlRewriteFilter的配置
<filter>
<filter-name>UrlRewriteFilter</filter-name>
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
然后加了一条规则
<rule>
<from>/category/category3_2</from>
<to type="forward">/category/category3?page=2</to>
</rule>
还没用正则,只是测试,但会报404错误,调试发现根本没进UrlRewriteFilter
要怎么做才能用呢?谢谢
在网上翻箱倒柜之后,这篇文章出现了http://ocaicai.iteye.com/blog/1312189
我按照这个第一点说的加了代码真的好了!
现在的web.xml是这样的:
JFinal Handler 可以更轻量级地支持 url rewrite,实现方式可以参考:http://www.oschina.net/question/162347_61349
UrlRewrite组件也是支持的,可以将 UrlRewrite的Filter配置在JFinalFilter之前
引用来自“JFinal”的答案
JFinal Handler 可以更轻量级地支持 url rewrite,实现方式可以参考:http://www.oschina.net/question/162347_61349
UrlRewrite组件也是支持的,可以将 UrlRewrite的Filter配置在JFinalFilter之前
web.xml里内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<filter>
<filter-name>UrlRewriteFilter</filter-name>
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>jfinal</filter-name>
<filter-class>com.jfinal.core.JFinalFilter</filter-class>
<init-param>
<param-name>configClass</param-name>
<param-value>com.demo.common.DemoConfig</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>jfinal</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
只有这两个过滤器
然后我用UrlRewrite是想把分页做进url里,不用?挂参数,类似wordpress
引用来自“青春陪葬了无知的年华”的答案
刚才测试时发现
<urlrewrite>
<rule>
<from>/category/category32</from>
<to type="redirect">/category/category3?page=2</to>
</rule>
</urlrewrite>
如果rewrite的type是redirect,就可以正常访问;
如果rewrite的type是forward,就报404
这个type的不同,对后面进jFinal拦截器的有影响吗? @JFinal
附上错误截图
<from>^/category/category3_([0-9]+)$</from>
<to>/category/category3?page=$1</to>
</rule>
像这样直接省掉type="redirect"呢?结果怎么样