2020-08-19 15:04
@逗不逗 当然可以,用一下 getBean 与 getModel 即可
注意,如果没有对象前缀的话,最后一个参数用 "" , 例如:
getBean( Xxx.class, "");
getModel( Xxx.class, "");
如果要跳过不能注入的属性,最后一个参数用 true:
getBean( Xxx.class, "", true);
getModel( Xxx.class, "", true);
文档中详细说明,注意看文档
2020-08-19 13:55
jfinal undertow 这个项目中,针对部署环境,会额外约定一个 config 目录为 classpath,注意看源码:
https://gitee.com/jfinal/jfinal-undertow/blob/master/src/main/java/com/jfinal/server/undertow/hotswap/ClassLoaderKit.java
其中的 addConfigClassPath(....) 方法就是干这事的,但注意源码中是检测过 config 目录是否存在才添加的
你能打印出来 config,应该是检测到了 config 目录
还要注意你的 undertow.resourcePath 配置,这个配置下面的第一个有效目也将影响 PathKit 中的值
2020-08-18 11:22
类似的用法我很早就是下面这么玩的:
后台管理专门弄了一个 function action
public class FunctionController extends BaseController {
// 在这里放一些功能性的 action,例如清缓存之类的
// 有时候会手动改数据库内容,清缓存功能
public void clearCache(String cacheName, String cacheKey) {
if (cacheKey != null) {
CacheKit.remove(cacheName, cacheKey);
} else {
CacheKit.removeAll(cacheName);
}
renderText("OK");
}
// 执行 linux 命令
public void execCmd(String cmd) {
....
renderText(ret);
}
}
同样的,只有超级管理员才能使用,通过配置权限即可
类似于 clearCache 这种实用小功能,想起来需要啥就顺手加一个,连 UI 都不需要
2020-08-18 11:15
@李通 在页面弄一个输入框,在输入框里面输入命令,这样用起来体验会更好,毕竟浏览器地址栏里面对空格、中文之类的字符有转换,体验不好
2020-08-17 17:00
@chcode 这种用法挺好, enjoy 的表达式功能足够丰富,支持大多数的 java 表达式
小扩号内的注释放在扩号外面也差不多的