2018-10-01 12:51

用问号挂参传过去:
controller.redirect("/login?lastRequestURL=" + value);

传到 jsp 文件也可以,但不建议这么用:
controller.redirect("/login.jsp?lastRequsetURL=" + value);

不要让请求或重定向直接指向页面,而是要指向一个 action

2018-09-30 15:34

反馈错误地发在了分享频道,该贴后续会被删除,请知悉

2018-09-30 12:11

这个得分析代码,分析 sql ,异常是看不出什么原因的

2018-09-29 22:42

@fansunion 注意看控制台输出的 jfinal action report 中的 URL 这一栏

2018-09-29 22:27

jfinal 3.4 才支持打印,看下你用的是哪个版本

2018-09-29 17:28

建议用 OkHttp , 简单方便, http client 这个是很古老的项目了,历史包袱太重

2018-09-29 16:33

注意一个核心问题,你的这段数据库操作代码全部处在一个事务中,如果后方数据库操作代码依赖于前方代码对数据库产生的影响就要格外注意

因为你上述多次操作数据库的所有代码处于一个事务中,所以事务提交之前数据库表中的数据是不会有任何变化的,而你靠后的数据库操作的 where 条件却依赖了这些变化,造成 where 条件实际上为 false, 最后看到的现象是数据库数据的变化不如自己预期

你可以将后方所依赖的数据库操作代码挪一部分到事务之前去,就能看到效果了

这个是 JDBC 事务的行为,jfinal 从来不会干预

2018-09-29 15:06

在 web.xml 中直接添加 JFinalFilter 即可整合 jfinal 到 spring 项目中去,然后用一个 Handler 将该属于 spring 处理的路由跳过不处理即可

有很多同学在处理老项目的时候就是这么做的,不用动老项目的代码,新功能用 jfinal 实现,互不影响

2018-09-29 13:24

@APG 高版本的 #elseif 可以写成 #else if , 这样与 Java 风格更一致

2018-09-29 11:47

@APG jfinal 的 enjoy 引擎是与 Java 直接打通的,这个是 Java 界所有其它模板引擎都没有的设计

在 jfinal enjoy 看来,基于某一门语言,与某一门语言打交道的模板引擎,天然就需要与这门语言打通

2018-09-29 11:27

如果是 JDK 的工具类,里面的方法是 static 的,也可以这么来用:
#( java.util.Arrays::binarySearch(...) )

注意一下 binarySearch 中所使用的参数的类型与个数要是正确的,否则会报方法找不到的异常

2018-09-29 11:23

这个 Arrays 从哪里来的? 有没有添加为 shared object,例如:
arp.getEngine().addSharedObject("Arrays", new Arrays());

2018-09-28 18:17

@fox 不要着急,这个是一定可以的,这个用了很多年的拦截器了,你是不是在这个 action 中使用 @Clear 做了拦截器清除?

2018-09-28 18:10

@不能忍受 两行代码即可:
String xml = renderToString("books.xml");
String ret = HttpKit.post(url, xml);

2018-09-28 18:09

@fox setSessionAttr("user", userVO); 是一定生效了的,这个时候你的 session 还是 null 值,只有两种可能:
1:修改没有生效,例如自动编译没打开,现在启动用的代码本质还是以前的老代码
2:你的客户端不支持 cookie,因为 session 是依赖于浏览器的 cookie 的