jfinal 伪静态化怎么操作

jfinal 伪静态化怎么操作:比如 /detail?id=25 这样的 地址怎么实现伪静态化的地址/detail/25.html 类似这样的地址 不要把id体现在浏览器里面 

评论区

JFinal

2017-08-07 15:30

参考一下 com.jfinal.ext.handler.FakeStaticHandler 中做伪静态的代码

Jason、

2017-08-07 15:49

@JFinal 好 我先看看 谢谢回复!

Jason、

2017-08-07 16:03

这种我用过不行

JFinal

2017-08-07 19:17

@Jason、 参考 FakeStaticHandler 稍微改点代码即可解决,大致方向是将 String target 这个值变成最终可以抵达 action 的正确值

例如 target = "detail/25.html" 这种风格,用类似下面的代码搞定:
int index = target.lastIndexof(".");
if (index != -1) {
target = target.substring(0, index);
}
next.handle(target, request, response, isHandled);

然后在 controller 中可以这样:
Integer id = getParaToInt();
setAttr("item", xxService.detail(id));
render(...);

看 FakeStaticHandler 关键在于举一反三,而不在于直接使用

Jason、

2017-08-08 09:53

@JFinal 好的 谢谢 我先试试

Jason、

2017-08-08 10:18

波哥,你好 !参数我怎么传到controller里面去

Jason、

2017-08-08 10:23

波哥,解决了 谢谢 了 哈 !

皮球

2018-09-07 18:05

这样页面搜索引擎抓得到吗

热门反馈

扫码入社