2017-09-14 00:19

愿望非常好,这也是多年前我做这个功能时希望的样子,但是不解析就无法取到文本参数,这个是由 http 规范决定的

其实这个问题很好验证,你可以将 MultipartRequest 的代码全部 copy 出来,改造成自己需要的样子,然后通过下面的代码让其生效就好:
inv.getController().setHttpServletRequest(myMultipartRequest)

上面的代码即可将你自己解析出来的 myMultipartRequest 再注入 controller 中以供后面使用,仍然是用你在本贴中的拦截器来做

2017-09-14 00:07

可以在俱乐部群里面 @ 一下我

2017-09-14 00:06

可以将 namespace 指令改造成一个自己的 MyNameSpaceDire,让其支持多层就好,实现起来大致就是判断一下当前 namespace 指令上层是否还有 namespace,如果在的话,就让值相加一下

最后用自己的实际来代替官方实现:
1:arp.getEngine().removeDirective("namespace"); 移除官方实现
2:arp.getEngine().addDirective("namespace", new MyNameSpaceDire()); 添加自己的实现

2017-09-14 00:04

这里有一个比较好的项目,参考一下: https://gitee.com/jfinal/LMS

2017-09-14 00:01

@li_ms 在 public void afterJFinalStart() 中做这个事合适,具体用法见 jfinal 手册

2017-09-13 23:58

@小徐同学 这个是正确,感谢我不在的这几天 @小徐同学 对社区的支持

2017-09-13 23:57

#if ( param_i_status != null) 即可,jfinal 模板引擎为了减少代码输入量,#if (0) 的值为 false,而当你确实需要让 0 为 true 时,可以根据实际的逻辑多写点代码

2017-09-13 23:55

@yjjdick1990 搞清楚数据存放在哪里,从哪取过来,这才是本质问题,具体怎么操作都是细枝末节

2017-09-12 11:48

@peterpeter 我觉得你把简单事情复杂化了,本质就是一个 setAttr 然后,模板中 #(value) 取值的事

2017-09-12 11:46

redis 共享会话以后,就不要再用 session 这种东东了,然后所有用到会话的地方全走 redis,包括拦截器

2017-09-12 11:45

getRequest().getInputStream() 得到输入流以后就可以解析出数据了,最后别忘了 renderNull() 一下

还可以通过 getFile() 得到上传文件以后,再将文件传到其他服务器

2017-09-12 11:43

表达式与 java 习惯几乎一样,想象一下在 java 中:
#000000
eclipse 一定报一个错给你,而改成 "#000000" 才是正确的表达式:字符串常量

2017-09-12 11:41

改成: #(cartDot?? '#000000' ) 或者 #(cartDot?? "#000000")