2017-11-16 16:30

@happyboy 任何新事物的兴起总需要一定的接受时间,这个是普遍规律。

年纪偏大,性格偏保守的人更不容易接受新生事物。 况且 jfinal 除了每年发两个左右的新版本的时候发布一篇新闻以外,从来不做任何宣传,确实有很多用户还没有触达

感谢你在公司的推荐支持 ^_^

2017-11-16 15:55

@九州游人 @happyboy 其实用 jfinal 的人很多,在 gitee.com 或者 github.com 上搜索一下 jfinal 就知道有多少开源项目基于 jfinal 或与 jfinal 有关:
https://gitee.com/search?utf8=✓&search=jfinal&group_id=&project_id=&type=

这个项目数量,应该是你搜索任何一个其它非 spring 项目找不到的

另外,你可能是很少关注开源界,如果关注的话就会知道 jfinal 连续多年是最受欢迎国产开源项目,下面的链接提供了一些数据:
https://www.oschina.net/news/87553/jfinal-3-2
https://www.oschina.net/question/2886655_2216338
https://www.oschina.net/news/69661/2015-git-osc--opensource-project-ranking-top-50
https://www.oschina.net/news/58529/2014-popular-software-top-50
https://www.oschina.net/news/47588/2013-top-10-java-projects

这里还有《中国开源软件推进联盟(COPU)》的评选:
http://www.weste.net/2014/7-1/97583.html
https://www.csdn.net/article/2014-06-27/2820431
https://www.oschina.net/news/53265/2014-good-opensource-projects

2017-11-16 13:28

多个项目在部署到公网时,就是会有多个域名,所以用户并不需要改 hosts 文件

2017-11-16 11:13

要开启事务,开启事务的方法见 jfinal 手册,在首页下载

2017-11-16 11:05

jfinal 的主要优点就是:开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展。核心就是极致简洁。

自己试用体验一下才最好。最近很忙无法三言两语讲清楚

2017-11-16 11:02

public void configConstant(Constants me) {
JFinal3BeetlRenderFactory rf = new JFinal3BeetlRenderFactory();
rf.config();
me.setRenderFactory(rf);
GroupTemplate gt = rf.groupTemplate;
}

2017-11-16 10:13

1:用官方提供的生成器为 model 生成 getter setter 方法
2:me.setJsonFactory(new MixedJsonFactory())
3:Json.getJson().parse(jsonString, Admin.class)

2017-11-15 22:58

没用过 itext , 没法帮到你, 建议到群里面问问

2017-11-15 22:57

jfinal 官方目前还没有提供 getModels 方法,大致的实现方案是通过 for 循环调用 getModel(...) 一个个获取,再添加到 List 中去

multipart/form-data 也可以填充,但需要在调用 getModel 之前先调用一次 getFile 系列的方法

2017-11-15 16:56

这个还不是文件大小问题报错: unexpected end of part。 此外,你的异常没有给出 cause 部分, 无法精确定位

2017-11-15 15:52

刚刚将这个功能已添加到 jfinal 3.3 之中,感谢分享

2017-11-15 15:27

感谢支持,这里确实没有添加 context path , 主要是因为我自己从来不用 context path ^_^

2017-11-15 11:26

用 Db.update(sql) 试试,一定是可以的

2017-11-15 11:25

目前不支持,只能去改 Lexer 词法分析器源代码

${value} 这种用法源于历史上老牌的模板引擎,并没有将 ${value} 中的参数当成是表达式,从而功能上也很受限制

而 enjoy 是将 #(...) 与 #direName(...) 当成是一回事,里面的参数当成是表达式,不仅在实现上更为一致优雅,而且更加强大,例如你可以这样用:
#(a = 1, b = 2, c = a + b, c)
输出结果为 3

你还可以这样用: #("abcdef".substring(2))
输出结果为 "cdef"

当参数变成表达式,而不是老牌模板引擎的区别对待,那么输出指令就与后端 java 直接打通了,可以进行方法调用、执行数值计算、取值等一切表达式可以有的操作