2018-03-11 17:06

@海哥 jfinal 新版本 TemplateRender 不再关闭从 response 获取到的流,将关闭操作留给 jetty tomcat 之类的,也方便了用户多次从 response 中获取流来操作

2018-03-11 17:02

在后端,jfinal 对上传文件只有一种操作,那就是 getFile() 或者 getFiles()

获取不到上传文件是因为前端发送不正确,最简单的方式就是表单提交, form 表单中添加一个 enctype="multipart/form-data",并且使用 type="file" 的 input 即可

而所谓的 ajax 上传文件,仅仅是将表单提交交给 js 操作一下而已

因此,后端用上 getFile() 系列方法,然后所有精力全放在前端去解决问题就好

2018-03-11 11:51

#(str?? "") 与 #(str) 是完全等价的,建议使用后者

最后,永远不要使用 #(value ??) 这种形式,因为 value 为 null 时不需要双问号运算符,效果是完全一样的

只有是多级取值或多级方法调用时才需要双问号,例如:
#(obj.value ??)
#(obj.method() ??)

2018-03-11 10:23

HttpKit 不会新建 Thread 去请求,建议试试 OkHttp 这类 http 专用开发框架

2018-03-11 10:22

这就相当于,你将 "login.html" 直接放在资源管理器中,然后双击该页面直接用浏览器打开是一个道理,与 java web 完全无关

2018-03-11 10:21

浏览器地址栏值为: localhost/user/login.html,注意是以 ".html" 结尾的,证明根本没走 jfinal,而是直接走的 tomcat 或者 jetty ,因此 jfinal 也就没法干预到

2018-03-10 21:03

参考这篇博文来部署:
https://my.oschina.net/jfinal/blog/353062

2018-03-09 16:41

在整个请求流程中,需要 render 一次,否则 jfinal 会默认帮你调用一个 render(view),规则是:
view = baseViewPath + viewPath + methodName + ".html";

对应到你的项目中,正好是 "/wxapp/msg/index.html"

当然,你可以通过调用 renderNull() 方法告知 jfinal 不要帮你调用 render(view)

2018-03-09 15:23

这下格式非常好了,感谢你的分享,原来那个贴子可以删掉了

2018-03-09 14:54

@没牙的小朋友 JFinal 3.3 下支持 JFinalShiroPlugin、Shiro: http://www.jfinal.com/share/714

2018-03-09 14:29

@美悦 目前不支持 model 上的属性上去验证,有很多原因:
1:jfinal model 本身是没有属性字段的,所以这个功能也就无从谈起了

2:即便是要支持普通的 Java bean,jfinal 的思路是验证要在控制层或者业务层处理好,当数据到达 model 时验证,要么太迟,要么就太早

当然,这也只是我一家之言,大家可以自己实践,看看哪种方法更好,可以反馈给我,如果确实好,我会将功能做到 jfinal 中去

2018-03-09 14:27

@lajshjifos 这个肯定是 cookie 值丢失引起的,注意 app 客户端的请求中不能丢掉 cookie 值

java web 中的 session 的是依赖 cookie 来实现的

2018-03-09 14:19

暂时还没有app, 所以也就没有 app 后台

2018-03-09 11:23

fastjson 是通过 getter 方法来转 json 的,所以需要为关联过来的字段添加 getter 方法,这个显然不现实

这种情况可以用 jfinal 的 json 实现,方式如下:
JFinalJson.getJson().toJson(modelList);

2018-03-09 11:20

@Neoman 暴力删除前建议先做个备份,在出问题后还可以再恢复:
cp -a /usr/share/fonts /usr/share/font_bak