2017-03-15 13:51

这个是 linux 操作系统本身的规定性决定的,让你的 tomcat 启动在 root 之下或者使用 chmod 设置一下文件权限

2017-03-15 11:30

这个问题先做个备忘,oracle 不按 JDBC 标准走才会出现这类问题

建议你先通过继承 MetaBuilder 的方式解决,扩展完以后,将 MyMetaBuilder 注入到 Generator 之中即可

2017-03-15 11:28

自动生成支持 sql server,只是有些细节没有照顾到,但是生成器是面象扩展设计的,可以随心所欲去扩展细节功能

没有主键的问题:jfinal active record 模式的基本要求就是一个 model 唯一对应一条数据库记录,而这个对应关系必须依赖于主键,所以使用 model 必须要有主键。否则就根本不是 active record 模式的范畴。对于无主键的表不要去生成 Model,可以用一下 Db + Record 模式

生成器的 addExcludedTable(tableName) 可以排除一些不需要生成的表,或者通过扩展 MetaBuilder 覆盖 isSkipTable 方法,随心所欲地去控制要跳过哪些表不生成

2017-03-15 11:28

拦截器的使用,有这么一行代码:
invocation.invoke();

在这行代码之前添加的代码会在目标之前执行,在这行代码之后添加的代码会在目标之后执行,例如:
System.out.print("之前执行");
invocation.invoke();
System.out.print("之后执行");

综上,jfinal 的 Interceptor 本质上是环绕型拦截器,可以同时支持在 before 与 after 之处插入切面代码

之所以在声明拦截器时使用的是 @Before(Xxx.class) 这个注解,是因为拦截器确实是在目标被调用前就发生了作用

2017-03-15 11:24

@hmgx 自动生成支持 sql server,只是有些细节没有照顾到,但是生成器是面象扩展设计的,可以随心所欲去扩展细节功能

没有主键的问题:jfinal active record 模式的基本要求就是一个 model 唯一对应一条数据库记录,而这个对应关系必须依赖于主键,所以使用 model 必须要有主键。否则就根本不是 active record 模式的范畴。对于无主键的表不要去生成 Model,可以用一下 Db + Record 模式

生成器的 addExcludedTable(tableName) 可以排除一些不需要生成的表,或者通过扩展 MetaBuilder 覆盖 isSkipTable 方法,随心所欲地去控制要跳过哪些表不生成

2017-03-14 21:06

@板砖哥 手误,应该是 RenderManager.me().getEngine()

2017-03-14 17:57

@李白一刀 升级当然要换 jar 包了,必须的

2017-03-14 17:33

@HalcyonDays 主要是 js , 可能部分参数是模板引擎渲染出来的,不太记得了,看一下源码便知:http://www.jfinal.com/assets/js/jfinal-com-v1.0.js

2017-03-14 17:10

@北流家园网 Handler 可以接管所有请求,例如对 jpg、css、js 的请求也能处理,所以对 html 、jsp 的请求仍然可以处理

2017-03-14 17:09

看一下 JFinalJson.java 中的日期格式转换属性,这个默认值是可以设置的

2017-03-14 17:08

@成长之路n jsp 需要 JDK 中的 javac 来编译,应该是这个问题

2017-03-14 17:07

对这个贴子本身进行一下修改就好,贴子的内容是随时可以修改的

2017-03-14 17:06

@杜福忠 添加源代码的时候,可以点一下源码按钮,直接 copy 进来,发布上来以后会有高亮显示

2017-03-14 17:05

就是一个简单的 onclick 事件,然后响应这个事件,往输出框中添加内容而已,可以直接在本站下载相关的 js 文件

2017-03-14 17:04

在 YourJFinalConfig 中创建一个 public void afterJFinalStart() 然后添加如下一行代码:
RenderManager.me().getEngine().addSharedObject("servletContext", JFinal.me().getServletContext());

然后就可以在模板中的表达式中通过 servletContext 来获取了,例如:
#(servletContext.getAttribute(...))