2020-02-08 18:46

自己写个解析程序,可以配合正则表达式

如果你的每对 key value 之间的分隔符没有统一的话,可以先利用 JDK 中的 String.replaceAll(String regex, String replacement) 方法,将分隔符统一,例如统一成 "###":
str = str.repalceAll(regex, "###");
String[] keyValueArray = str.split("###");

上面两步就将所有 key value 全放到数组里头去了,然后你再利用:
kv.splite("=")
就可以将 key value 分离出来了

注意这些事都与 jfinal 无关

2020-02-08 18:40

可能是下载不稳,先将本地 maven 库中的相关目录删掉,让 maven 重新下载

另外,注意使用比较新的 maven 版本,还要注意配置好:
https://jfinal.com/doc/1-1

2020-02-08 14:47

meal 里的食物 ID ,存的是 "1, 2, 3" 一定要拆分改成一对多或者多对多关系,否则后患无穷

2020-02-07 11:14

@yxhjeremy 如果你用的是 jfinal-undertow, 那么是不需要自行引入 servlet-api.jar 的,因为 jfinal-undertow 已经帮你引入了最新版本

在 webapp/WEB-INF/lib 放的 jar 包,可以通过配置 pom.xml 中的 dependency 来解决:
https://www.jianshu.com/p/f50841f0963d

具体办法是配置其 scope 为 system,然后再添加一个 systemPath

如果有外部 jar 包不要放 webapp/WEB-INF/lib 下面,因为 eclipse 会默认再一次让这个目录下的 jar 包生效,这与前面的配置 pom.xml 的方式重复了

2020-02-06 21:24

检查打包后的 lib 目录下面的 jar 包, 可能出现了多个 servlet-api 有关的 jar 包,也可能是 servlet-api 的 jar 包的版本不对

2020-02-06 18:36

@永字诀 早就解决了,注意配置 undertow.hotSwapClassPrefix,文档中有:
https://jfinal.com/doc/1-5

2020-02-05 12:47

jfinal club 整体上就是本站 jfinal.com 的功能,代码简洁,很多功能直接可以用于二次开发,例如权限管理、内容管理、账户管理、登录、注册、账号激活等功能

2020-02-03 20:29

很可能是你有线程是 "非守护线程",JVM 无法退出

检查你项目中启动的线程是不是设置了 setDaemon(true)

2020-02-03 18:46

@琴海森林 我自己测试是没有问题的,可能有些同学的环境不同,后续版本我计划将 RedirectRender.java 中的注释再放开

2020-02-03 18:45

没真正重启成功

注意一下官方启动脚本里头有一个注释说明,讲到了 kill 指令的 -9 这个参数,如果出于什么原因无法停止项目,可以加上这个参数

2020-02-02 12:34

建议加入俱乐部,获取 jfinal 官网代码,一整套解决方案,十分便利:
https://jfinal.com/club

2020-02-02 12:33

jfinal.com 官网中就是用了这样的机制,很便利,例如:
public class BaseController extends Controller {
@NotAction
public Account getLoginAccount() {
....
}

@NotAction
public boolean isLogin() {
return getLoginAccount() != null;
}

@NotAction
public boolean notLogin() {
return !isLogin();
}
}

2020-02-02 12:30

getSession() 依赖于 Controller 内部持有的 HttpServletRequest request 对象,而你的 UtilController 继承 Controller 时,这个对象是不存在的

你可以引入一个 public class BaseController extends Controller ,然后在这里面添加 getIdentity() 方法。最后,你所有的 controller 改为继承 BaseController 即可

2020-02-02 12:16

代码缺失,注意修改本贴,点击工具栏中的 代码语言 下拉框,选择 java,然后再贴代码进去

2020-01-31 14:40

@崔佳鹏 打开控制台,输入下面命令:
javac

看看 java 编译器能不能被调用,就能验证了