2020-06-12 15:27

这个是第三方依赖项目 cos 的改进,该项目不属于 jfinal

只要升级 cos 到是高版本 2020.4 就可以了,即便不升级的话在 jfinal 下也是安全的,因为 jfinal 默认已经阻止了对于 .jsp 文件的直接访问

2020-06-12 11:43

补充一下这里的关键:
1:你修改的是 resources/static 下的 html 静态资源
2:web 服务读取的是 target/static 下的 html 静态资源
3:IDEA 没有打开自动编译,造成 web 服务读取到的并不是最新修改后的版本

这个是 IDEA 的特征

2020-06-12 11:41

@spring0563 html 等静态资源不存在热加载这一说,本身就是实时生效的

你放在 resources/static 这个目录下面未实时生效,应该是 IDEA 的自动编译未打开,从而修改以后在 target/classes/resources 下面的相应拷贝并未发生变化

这个问题肯定是与 jfinal 无关的,IDEA 默认不开启自动编译,从而造成误解

2020-06-12 10:52

@spring0563 jfinal enjoy 模版引擎的热加载是独立支持的,只需要配置:
engine.setDevMode(true)

enjoy 的热加载与别的因素无关,只需要上述配置即可

java 代码的热加载,要配置 undertow.devMode=true

还有一种方案是在 IDEA 下使用 jrebel

2020-06-11 20:41

@himans 国内大多数都用的四舍五入,你的判断是对的

此外,还顺带添加了 BigInteger 的表达式运算支持

2020-06-11 17:19

@月月小赚 jfinal 的 enjoy 模板引擎中的表达式是与 java 表达式直接打通的,有方法就调,有字段就取,极度方便,无需学习

2020-06-11 16:10

IDEA 下开发,详情见:
https://jfinal.com/doc/1-9

2020-06-10 19:32

@himans 忘了告诉你了, jfinal 4.9 已经改进了这里,已发布到 maven 中心库,可以直接用上了

记得回来反馈一下使用感受

2020-06-10 17:02

@jfinal初识 我给的代码是我的用法,你可以直接 return true

public static DruidStatViewHandler getDruidStatViewHandler() {
return new DruidStatViewHandler("/assets/druid", new IDruidStatViewAuth() {
public boolean isPermitted(HttpServletRequest request) {
return true;
}
});
}

这里是给了你一个可以控制访问者权限的接口,怎么控制就看你的想象力了,不想控制就无条件 return true;

2020-06-10 16:20

@xiuxiu-xiuxiu jfinal 项目是标准的 java web 项目,也是标准的 maven 项目

所以, IDEA 不能加载配置的问题肯定是与 jfinal 无关的

你开发传统的 "非jfinal" 项目,一样也会碰到这种问题

最简单的办法:
1:先将项目从 IDEA 中移除

2:在资源管理器里面,删掉项目的所有目录与文件,只保留 pom.xml 文件与 src 目录。

注意:这一步是为了删干净 IDEA 为项目生成的一些配置,以及自己折腾出来的一些配置。这些配置就是出问题的根源

再注意:注意删掉那些 IDEA 生成的隐藏的配置文件

3:再使用 IDEA 导入项目,让 IDEA 重新为项目生成各种配置。

特别注意:导入的时候,要走 maven 项目导入向导,注意要走向导,注意要走 maven 项目向导,重要的事情说三次。这样是为了让 IDEA 为你生成合适的配置文件

4:直接启动项目,不要做任何其它配置,因为我担心你折腾出一些破坏性配置,然后再来怪罪 jfinal

再次重申:上面的一切都与 jfinal 无关,我只是出于热心告诉你一些 IDEA 的使用技巧

2020-06-10 16:14

@谢 jfinal 的方案要考虑的事情比这多多了,建议用官方的方案,适应性更好

2020-06-10 15:40

补一下,还需要为 DruidPlugin 添加一个 filter:
druidPlugin.addFilter(new StatFilter());

2020-06-10 15:39

jfinal 俱乐部项目的配置如下:
public void configHandler(Handlers me) {
me.add(DruidKit.getDruidStatViewHandler()); // druid 统计页面功能
}

public static DruidStatViewHandler getDruidStatViewHandler() {
return new DruidStatViewHandler("/assets/druid", new IDruidStatViewAuth() {
public boolean isPermitted(HttpServletRequest request) {
String sessionId = getCookie(request, LoginService.sessionIdName);
if (sessionId != null) {
Account loginAccount = loginSrv.getLoginAccountWithSessionId(sessionId);
return AuthCacheClearInterceptor.isAdmin(loginAccount);
}
return false;
}
});
}

访问地址:
localhost/assets/druid

按照上面的办法基本照抄就可以

2020-06-10 14:48

配置: me.setJsonDatePattern("yyyy-MM-dd HH:mm:ss")

功能早就有了,就看你用不用

2020-06-10 12:32

看不出是什么问题,而且异常信息中完全没有 jfinal 的字眼,不好判断