2018-10-22 15:55

@錢勢惘導 估计你的 web.xml 文件中头部的文档限制部分配置不对,也可能是 jsp 文件的头部要添加什么指令的引用

JSP 用起来很多冗余,所以 jfinal 才提供 enjoy 引擎来取代 JSP, enjoy 引擎比 JSP 好用得多

2018-10-22 15:54

@錢勢惘導 这个是纯粹的 JSP 的行为, jfinal 是完全不干预的

2018-10-22 14:44

jfinal 对代码质量要求极其严格,极少出现 bug

当然 bug 是一定有的,例如 jfinal 3.5 中的 ClassPathSource.java 中就有一个 bug,这个 bug 通过公众号、社区、qq 群通知过,例如社区的通知在这里:
http://www.jfinal.com/share/979

每次 jfinal 新版本发布都会有详细的 changelog,里面会说明解决了上版本的哪些问题,多数是改进与增强,而不是 bug,changelog 在首页右侧有下载:
http://www.jfinal.com/

2018-10-22 11:54

@錢勢惘導 这个与 jetty 无关,取值要弄对 contexPath 的名称,默认名是 "CONTEXT_PATH",用的时候这样:
${CONTEXT_PATH}

你也可以在配置的时候指定一个更简短的名字:
me.add(new ContextPathHandler("CXT"));

用的时候变这样:
${CXT}

2018-10-22 10:48

手动回滚可以用:
DbKit.getConfig().getConnection().rollback();

还可以使用下面的代码做事务:
Db.tx(() -> {
...
});
在上面的代码中,return false 也会回滚事务

2018-10-22 10:46

@錢勢惘導 用的 renderJsp("my.jsp") 没问题的,在 "my.jsp" 中尽管使用 el 表达式,这么用的话就与 enjoy 完全无关了

你说的 el 表达式无效,基本可以确定是别的错误,与 enjoy 没有关系

2018-10-22 10:25

使用 enjoy 引擎的模板,就只能使用 enjoy 的表达式,而不能使用 el 表达式

如果希望同时使用 JSP,使用下面的代码即可:
renderJsp("my.jsp");

也就是说 render(...) 使用的是 enjoy ,而 renderJsp(...) 使用的是 jsp

在 jfinal 项目中可以同时是无数种模板引擎共存,因为除了 render、renderJsp、renderVelocity、renderFreemarker 以外,还有 render(Render render) 这个方法可以支持任意 render 扩展

2018-10-22 10:01

只要先调用一次任何的 getFile(...)、getFile()、getFiles() 系的方法,然后就可以用 getPara 接收参数了,你也可在 action 上带参接收,例如:
public void action(File myFile, String s, Integer i) {
...
}

如果你要在拦截器中获取参数,getFile 也要先调用,例如:
public void intercept(Invocation inv) {
inv.getController().getFile();
inv.invoke();
}

这里有文档参考:
http://www.jfinal.com/doc/3-7
http://www.jfinal.com/doc/3-3

2018-10-21 22:40

异常信息不全,尤其缺少异常的 cause 部分

2018-10-20 22:45

@问道 jetty-server-2018.12 正式发布以后,你改一下版本号即可升级到最新版本的 jetty-server 了

目前暂时不发布这个版本,因为改动太小了,基本就是动了动几个类似于你今天碰到的前缀

2018-10-20 22:19

@路桥伊人 id 映射的事情一直没动过的,升级 jfinal 这里不会出问题的,总之 id 主键名要映射进去,如果不映射默认值为 "id"

两年前 jfinal 有了生成器以后,映射文件都是自动生成的,生成的文件名为 _MappingKit.java

2018-10-20 20:46

final 关键字的提示与不提示这个是开发工具决定的,jfinal 肯定是无法干预的,这个是 java 语法层面的事情

2018-10-20 20:44

通过下面的几个步骤将 jetty-server 最新版本安装到本地 maven 库:
1:git clone git@gitee.com:jfinal/jetty-server.git
2: cd jetty-server
3: mvn install

安装成功以后,将项目中的 pom.xml 中对 jetty-server-2018.11 的依赖改下版本号,原来的版本号 2018.11 改成 2018.12-SNAPSHOT

记得解决后回来再回复一下

这个问题的原因是 JettyServer.java 中的 webApp.getSystemClasspathPattern().add("org.apache.") 这行代码将 所有 org.apache. 前缀的类配置成了 “无热加载”,而 org.apache.logging.slf4j.Log4jLoggerFactory 这个在这种情况下不能工作

目前最新的 jetty-server 代码,已经处理过了 "org.apache." 前缀

2018-10-20 17:15

没错没错,微信公众平台新改的规则,jfinal weixin 是无法干预这个事的