地址伪静态JFinal

李永china 发布于 2016/08/18 10:44
阅读 278
收藏 0

@JFinal 你好 我用urlrewriter进行地址伪静态  我请求的时候urlrewriter这个过滤器不起作用 

他并没有对地址进行转换  而是直接被jfinal这个过滤器拦截了   然后后台就报找不到这个action的错误

加载中
0
JFinal
JFinal
    将 UrlRewriteFilter 的声明放在 JFinal 前面,是有先后次序的。更重要的是 JFinal 已然提供了 FakeStaticHandler 可以做伪静态,为啥还要引入这么大的 UrlRewriteFilter ?
李永china
李永china
难道是next里面的target不能带参数么
李永china
李永china
谢谢我找到了 0
李永china
李永china
额 那请问FakeStaticHandler怎么用呢 谢谢了
0
李永china
李永china

引用来自“JFinal”的评论

    将 UrlRewriteFilter 的声明放在 JFinal 前面,是有先后次序的。更重要的是 JFinal 已然提供了 FakeStaticHandler 可以做伪静态,为啥还要引入这么大的 UrlRewriteFilter ?

由于你那个伪静态 不满足我的业务需求 所以我重新按照FakeStaticHandler写了一个  但是报404

而我直接地址访问   http://localhost:8888/jwest/webNewsAction/findById?newsId=42是可以的

JFinal
JFinal
回复 @李永china : 报 404 指的是你转换后的 url,总之再重复一次,将 target 转换成 jfinal 需要的路由,用单步调试,看转换是否正确
李永china
李永china
回复 @JFinal : 对。但是从报错信息来看 他说/webNewsAction/findById?newsId=42 找不到 而我如果直接在浏览器请求这个地址 是可以的
JFinal
JFinal
只需要搞清楚一件事,无论是已有的FakeStaticHandler 还是你自己写的,本质上是将静态型的 url转成 jfinal 可以识别的路由,将 target 这个参数变成正确的值是关键,变正确了,就不会出404
返回顶部
顶部