debug源码发现render()方法中地址被强制拼接了request中queryString字符串,为什么要这样做??非常奇怪为什么要这样做??

CapJes 发布于 2013/01/06 14:46
阅读 279
收藏 0

@JFinal 你好,想跟你请教个问题:JFinal 1.1.5版本

为什么我使用JFinal通过

痛过/EntPro/comm/delete/?intContId=1&commId=23访问get()方法后,然后render("/cont/get/"),我发现实际访问的地址为

render("cont/get/?intContId=1&commId=23");

我debug源码发现render()方法中地址被强制拼接了request中queryString字符串,为什么要这样做??非常奇怪为什么要这样做??

如下图:


希望你帮我解答下。



谢谢....


加载中
1
JFinal
JFinal

    首先更正一下,楼主指的应该是 redirect方法,而不是 render方法。

    这个功能设计很长时间了,可能当初是为了让开发者省点事,但这也是可选的,可以这样通过传入一个boolean参数来去除: redirect("/action", true);

    这个功能在前天正好已经被修改了,在下一版的JFinal 1.1.7 中,默认行为改成了不带 queryString了,新版本中如果要带则需要 render("/action", true)

0
CapJes
CapJes

搞得我只有调用原生的:

getResponse().sendRedirect(path+"/cont/get/?pageNum=1&contId="+intContId);

哈哈。

JFinal
JFinal
这样用的话,别忘了最后 renderNull() 一下
0
CapJes
CapJes
哈哈,期待新版本。多谢。
JFinal
JFinal
谢谢支持 :)
0
CapJes
CapJes
多谢,我试试。
返回顶部
顶部