2020-06-03 15:33

@cqztt jfinal 1.8 应该也有这两个配置,你检查一下

2020-06-03 15:26

@逍遥一生 除了加这个,最好还加上这个判断:
if (inv.getReturnValue() != null) {
...
}

当返回值为 null 的时候,证明 action 方法返回为 void,例如:
public void index() {
}

2020-06-03 15:25

配置一下 undertow.resourcePath 指向更多的资源路径就可以了,例如:
undertow.resourcePath = src/main/webapp, /var/www/upload

上面配置的 /var/www/upload 就是指向了另一处路径,并将其当成是资源根目录。我在本地开发就是这么用的,爽得不行

2020-06-03 15:23

@cqztt 方法在前面已经告诉你了,至于少了输出 sql 的事,你得确保 arp.setDevMOde(true),还得确保 arp.setShowSql(true) 这两个配置都是 true

2020-06-03 14:36

@cqztt 补充一下: setDenyAccessJsp(boolean) 只是限制了浏览器地址栏直接访问 .jsp 文件, 并没有限制 renderJsp(...) 访问 jsp 模板

2020-06-03 14:35

@cqztt 如果你使用的是 jfinal 较高的版本,想要支持在浏览器中直接访问 .jsp 文件,需要配置:
public void configConstant(Constants me) {
me.setDenyAccessJsp(false);
}

这是为了防止破坏者上传恶意 .jsp 文件,然后在浏览器直接: http://xxx.yyy.com/path/xxx.jsp

上传 jsp 文件是常用攻击 java web 项目的方式

当然, jfinal 的文件上传已经对上传 jsp 文件做了限制,使用最新版本的 cos:
cos-2020.4.jar

新版本 jfinal 引入 setDenyAccessJsp(boolean) 是为了加固安全性

2020-06-03 14:06

@逍遥一生 或许添加一个对于 render 的判断为好,因为在 action 中可能使用了 render 方法,加这个判断:

if (inv.getController().getRender() != null) {
return ;
}

getRender() 方法如果返回的不是 null,证明在 controller 中调用过 render 系列的方法,或者 redirect 方法

2020-06-03 12:55

@macaque 看漏了,value.getClass().getDeclaredMethods() 这个可以的,赞

2020-06-03 11:42

@Jerry_for_java 配置这个是可以的,估计是别的原因,单步调试跟踪一下:
activeRecordPlugin.ContainerFactory(new OrderedFieldContainerFactory());

2020-06-03 11:41

@flyinkeke 你说的应该是对的。

如果他不需要分页数据的话,还可以这么用:
set("list", page.getList());
render(...);

但一般 set("page", page) 就挺好, js 在前端提取数据时注意取 page.list 就好

2020-06-03 11:39

@谢 Extension Method扩展作为 enjoy 的特色功能,这些年除了我自己用,还从来没有人反馈过在用

其实这功能用着挺爽的, 为 String 添加一个 toHtml() 多爽

还可以添加类似于 escape() toJson() 等方法

2020-06-03 11:38

@doubuxingle 赞,就是这么用的

2020-06-03 11:37

attrs 中的属性有可能与 getter 方法要表达的重合,例如你用 jfinal 的生成器为 model 生成了 base model, 这些 base model 中所有的 getter 方法都与 attrs 方法中的字段重合

当然,你的 ToJson 扩展在纯用法上是对的

2020-06-03 11:33

@cqztt

如果不是 maven 项目,可以参考这些:
https://jfinal.com/share/422
https://jfinal.com/share/786

但是强烈建议使用 maven 项目来打 jar 包,要方便得多

maven 早已普及,传统方式该淘汰了

2020-06-03 11:32

@cqztt 如果不是 maven 项目,可以参考这些:
https://jfinal.com/share/422
https://jfinal.com/share/786

但是强烈建议使用 maven 项目来打 jar 包,要方便得多

maven 早已普及,传统方式该淘汰了