2018-08-09 22:18

建议 TemplateUtil 中再添加个 initEngine 方法,将 engine.setDevMode(...) 以及 engine.setBaseTemplatePath(...) 代码挪到 initEngine 方法中去,配置性的代码只需要调用一次就好

2018-08-09 22:16

Demo1 中的 Map、HashMap 建议使用 Kv 这个工具类,这个类继承自 HashMap,可以免去范型,避免代码中出现很多黄色波浪线

感谢分享

2018-08-09 21:22

在 MainConfig 中声明一个变量:
public static baseUploadPath;

然后:
me.setBaseUploadPath("case");
baseUploadPath = me.getBaseUploadPath();

最后,在任意地方都可以 MainConfig.baseUploadPath 来访问了

如果你希望得到的是一个全路径的 baseUploadPath,在以上代码的项目上参考一下 upload 模块中的那段处理该变量的方法即可

2018-08-09 21:01

@Snake8859 可以拼接,例如:
#("abc" + "def" + 123)

2018-08-09 20:42

#(j?j."+data[i].fieldName+":'') 改成:
#(j ? j.data[i].fieldName : "")

总之,指令括号中的一切都是表达式,要按表达式的写法去走

2018-08-09 20:39

@andy.xue 参考 GET.java POST.java 中的代码,将其中的 renderError 改成 renderError(400, ...) 即可

2018-08-09 15:13

为 model 生成 getter setter 方法,然后用 fastjson 解析即可,不要关注 attr 中有什么,只关注 setter 方法

2018-08-09 15:12

如果是 JFinalJson 则只与你的属性名有关,如果是 FastJson 则只与你的 getter 方法有关,便如你有个 getUserName() 方法,那么最终会被转成 userName

踪踪办法极其简单,在 Model.get(String) 方法与 YourModel.getXxx() 方法中设置一个断点,看是调用了哪个

2018-08-09 15:10

@lwcompany 你的 action 代码如下:
String index(Model model,HttpServletRequest request, HttpServletResponse response){
model.addAttribute(, UserUtils.());
String theme = getTheme(request);
+theme;
}

而 jfinal 的 action 是不可能有这两个参数的 HttpServletRequest request, HttpServletResponse response ,肯定与 jfinal action 无关了

2018-08-09 14:29

多年不使用 Spring , 不知道其路由变成啥样了,没法帮到你,建议看看 Spring 的官方文档

2018-08-09 10:09

@kevin007 这个问题是在 eclipse 出现某个版本后突然出现的,jfinal 自身有关启动部分的代码很多年都没变过了,目前不知道原因,jfinal 3.5 会统一研究一下这个问题的原因

2018-08-08 22:23

@KevinAllen 解决问题后能回来分享,赞一个

2018-08-08 16:21

@Don小浩 这个问题与 ip 地址无关

2018-08-08 16:11

DruidPlugin 有三个 String 的构造方法,所以 The constructor DruidPlugin(String, String, String) is undefined 这个肯定是不合理的

估计是你用了第三方的 DruidPlugin,要使用 jfinal 官方的才有这个