2019-10-15 20:15
@杜福忠 很美妙的用法
我找了找 jfinal.com 支付成功后的模板消息发送源码,用的是 Kv.set(...).set(...).set(...), 然后生成 json,不如你的用法爽
enjoy 生成 json 内容这个确实不容易想到,涉及到 json 通常想到的是 json 转的换的 API
2019-10-15 16:09
@Terely jfinal 官方从未提供过 quartz 这个功能, jfinal 官方提供的是 cron4j 插件:
https://www.jfinal.com/doc/9-1
2019-10-15 16:08
@vigo 如果你的 .class 文件是额外放置的,的确只需要修改主启动的 CP 配置
这里要注意一个问题,classes 目录下与 jar 包内存在同名的类的时候,jar 包内的会被加载,而 classes 目录下面的同名类将会被忽略
2019-10-15 12:44
最后,分别解释一下上面的各个步骤:
1:第一步拿到 demo 可获取 package.xml、pom.xml、jfinal.sh 这三个用于开发、部署的配置
2:第二步,不用解释
3:第三步本质就是在原有项目部署的结构之上,再多复制一个 target/classes 到部署项目的根下面的 classes 下面。当然这个目录的名称你可以随便改,不一定是 classes
4:第四步本质就是避免将项目本身 .class 文件打成的 jar 包复制到 lib 目录下面,因为你希望是使用 classes 目录下面的 .class 文件,而不是使用 jar 内的 .class 文件。
为了避免可能造成的冲突,所以第四步中添加了 excludes 来地滤那一个 jar 包, 具体的 jar 包名你要写正确,以免过滤不到,jar 包可能带有版本号,所以可能需要使用通配符来匹配,例如:
《exclude》my-project*.jar《/exclude》
5:第五步是改变启动脚本,将部署时创建的那个 classes 目录包含进 CP 参数,好让项目在启动的时候能够去该目录下面寻找资源,CP 是 CLASSPATH 的缩写
2019-10-15 12:39
大致按照如下步骤解决:
1:下载首页的 jfinal_demo_for_maven.zip 这个 demo
2:拿到里头的 package.xml
3:在 package.xml 中的 fileSets 标签下面添加 fileSet 子标签,配置将 target/classes 下的文件复制到被部署的 classes 目录下面,大至如下:
《fileSet》
《directory》${basedir}/target/classes《/directory》
《outputDirectory》classes《/outputDirectory》
《/fileSet》
4:修改 package.xml 中的 dependencySets 标签,添加 excluded 标签过滤掉对项目自身 jar 包的复制,大致如下:
《excludes》
《!-- **/* 前缀用法,可以匹配所有路径,例如:**/*.txt --》
《exclude》my-project.jar《/exclude》
《/excludes》
5:修改 jfinal.sh 启动文件,在 -cp 参数中添加 classes 目录,指向你自己新建的目录,大致如下:
CP=${APP_BASE_PATH}/classes:${APP_BASE_PATH}/config:${APP_BASE_PATH}/lib/*
2019-10-15 09:33
@小智zaki 根据文档解决一下
https://www.jfinal.com/doc/4-8
2019-10-14 19:23
@张小朵 用生成器生成以后, 表单域就要调整为驼峰式命名了
oracle 的 number 对应哪种 java 类型,jfinal 并未干预,jfinal 是利用的 JDBC 对其类型进行获取,获取出来是什么就直接沿用了这个类型
你需要的功能,考虑做个工具类实现一下, Model 中有各种 get 方法,可以用一用 getNumber 方法先获取到任意数据值类型的父类,再进行下一步 copy 操作
2019-10-14 17:24
@1055356469 这可能就是一个次序问题,先定义再调用才可以
例如,你是不是将 #define 定义的 getData() 函数添加为了 sharedFunction 了,如果没有的话,需要在模板中能看到 #define getDate() , 或者是 #include 进来被定义的 getDate()
仔细检查一下,这个问题应该比较好解决