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:46

只有两种可能,一是密码有错,二是权限配置有问题

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 23:06

@小99 这名字还不错

2019-10-14 21:05

生成器在文档中也有使用示例:
https://www.jfinal.com/doc/5-4

2019-10-14 21:05

映射时可以指主键名:
arp.addMapping(MyModel.class, "MyIdName", "my_table");

不指定的话才默认为 ID

如果用生成器生成映射是自动获取的,无需人工干预

生成器可以下载首页的 jfinal_demo_for_maven.zip,里面有使用示例

2019-10-14 19:23

@张小朵 用生成器生成以后, 表单域就要调整为驼峰式命名了

oracle 的 number 对应哪种 java 类型,jfinal 并未干预,jfinal 是利用的 JDBC 对其类型进行获取,获取出来是什么就直接沿用了这个类型

你需要的功能,考虑做个工具类实现一下, Model 中有各种 get 方法,可以用一用 getNumber 方法先获取到任意数据值类型的父类,再进行下一步 copy 操作

2019-10-14 17:40

@1055356469 没错,指令也是先添加再使用的

2019-10-14 17:24

再者,为啥到现在都还没有贴出异常信息,解决问题不能靠猜

2019-10-14 17:24

@1055356469 这可能就是一个次序问题,先定义再调用才可以

例如,你是不是将 #define 定义的 getData() 函数添加为了 sharedFunction 了,如果没有的话,需要在模板中能看到 #define getDate() , 或者是 #include 进来被定义的 getDate()

仔细检查一下,这个问题应该比较好解决