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 官方的才有这个

2018-08-08 16:09

登录这个动作完成后,根据该用户的 id 判断当前登录用户是否已登录,如果已登录,踢出以前那个登录就好,其实很简单

2018-08-08 16:07

@cofer MappingKit 是生成器自动生成的,下载一下首页的 jfinal demo,里面有一个生成器类,改改里面的两三个配置运行一下 main 方法,这个 MappingKit 就会自动生成了, 注意配置要对,生成后刷新下项目

2018-08-08 12:16

jfr.addSharedObject("attr", new AttributeTag()) 这个添加共享对象,不是自定义标签,enjoy 中其实没有自定义标签,而是有自定义指令

你的用法如下:
var htmlVal = "#(attr.show("+attJson+"))";

内部是参数,用法改一下:
#(attr.show(attJson));

但你的 attJson 是 js 代码生成的,这里就存在一个先后问题,特别要注意,模板引擎执行在先,其渲染出来的 js 代码执行在后,所以你的代码本质是先后次序问题

通过在浏览器中点击右键,查看生成的 html 体会一下生成的值,就能知道这个先后问题

模板引擎是后端的东西,而 js 是纯浏览器中运行的前端的东西,前端的东西当然是不能先于后端运行的