JFinal重写URL映射过程的问题

rainbow卡兮 发布于 2013/12/15 11:23
阅读 824
收藏 0

看了OSChina上的一些问题

说了都是用Handler去解决

但是有一个问题

比如说http://localhost/pppp/oooo?param3=111

我希望能直接映射到模板引擎去解析  不通过Action去调用render方法   这里已经可以

但是比如我映射到模板引擎去解析的时候 我后面的pppp是参数1 oooo是参数2 111是参数3

也就是我希望能直接request.getParam...("param1") 2 3能取出这里面的值

但是用handler解决的话只是更改的target

如果这里也不能转发到http://localhost?param1=pppp&param2=oooo&param3=111

所以只能取得param3的值

自定义的handler里面进行forward的话后面的就不执行   模板引擎就不能调用render方法去渲染了

这个问题有什么好的办法去解决?

@JFinal @铂金小虫

加载中
0
JFinal
JFinal

   当请求发送后, queryString 会被 web 容器直接解析并置入 HttpServletRequest 对象中,楼主的 http://localhost/pppp/oooo?param3=111 请求 queryString 中只有 param3 这一个参数。

    而HttpServletRequest 对象中存放参数的 map 是只读的,楼主可以通过反射将 pppp、oooo这两个参数置入 map 中去,也可以想办法替换掉整个 map让期变成可写的。

    比较可行的办法是将参数全部当成 urlPara,在 Handler 中处理,在 Controller 中 getPara(n) 来使用

rainbow卡兮
rainbow卡兮
我就是没有使用JFinal默认的action处理方法 自定义的一个handler去处理 让一些与后台交互才通过action去处理 而一些数据展示直接用url映射到模板文件中直接render出来 所以模板文件中无法获得这种getPara..只能从request中去获取..
返回顶部
顶部