2021-02-27 01:03

有好多方法呢,最简单的方法是用 getTemplateByString(...),例如:
Template t = engine.getTemplateByString( string 在此);
String str = t.renderToString(...);
还可以直接输出到文件: t.render(..., '输出文件名.txt');

以上是通过 getTemplateByString,还可以通过 getTemplate(ISource),
这个 ISource 可以指向任意地方,例如可以是从数据库:
public class DbSource implements ISource {
boolean isModified() {return false};
String getCacheKey() {return null);}
String getEncoding() {return "utf-8"}

StringBuilder getContent() {
// 从数据库查询得到模板内容
String str = Db.queryString("select info_template from ... where ...", ...);
return new StringBuilder(str);
}
}
然后,通过 engine.getTemplate(new DbSource()).render(...) 就实现了从数据库获取模板的功能


一般情况建议通过第一种方式:
String str = Db.queryString("select info_template from ... where ...", ...);
Template t = engine.getTemplateByString( str );
String str = t.renderToString(...);

2021-02-25 14:35

weixin pay 目前只做了二维码扫码支付

其中的统一下单,以及交互中使用的参数与小程序支付几乎都是一样的,所以,你可以稍微看一看微信平台的小程序支付的文档,然后稍加改变就可以实现功能了

2021-02-25 12:34

短短几行代码实现了指令动态化,赞

2021-02-25 11:38

@lcmkc 是否用 root 运行完全与 jfinal 或者 undertow 无关

切换到相应的用户,直接运行就可以了

在 "非 root" 用户状态下,使用 sudo jfinal.sh start 可以以 root 用户运行

这纯粹是 linux 知识,与 jfinal 肯定是无关的

但你要注意权限问题, 运行起来以后,你的项目代码访问到的文件需要赋予好权限。例如起码你的项目部署目录必须要是当前用户能访问的,仍然是纯 linux 问题

2021-02-25 11:35

jfinal undertow 可以用于部署,轻量、高效。 我已经用于生产环境快三年了,极其稳固、方便

安全性上与 tomcat 没有本质区别,在自己的代码中注意安全就行,例如做好 sql 注入、XSS、CSRF 防护

2021-02-22 17:53

getBean 与 getModel 对于传参的一方有一定的约定条件,注意看文档

2021-02-20 16:49

@玛雅牛 高手看问题就是深刻 👍👍👍

2021-02-19 17:58

加配置 me.set DenyAccessJsp(false)

2021-02-19 16:39

为了维持热加载以后 session 中的数据可以使用,在热加载之前 session 中的数据会被持久化,而持久化需要被持久化的对象实现 Serializable 这个接口

检查一下你存放在 session 中的哪些数据是没有实现这个接口的,注意,不仅是直接对象,还要检查间接对象

此外,你给的信息中其实只有一个 error,其中第一个为 WARN,第二个为 ERROR,第二个是 RejectedExecutionException ,注意查明原因

2021-02-18 22:58

配置文件左侧的井号要删掉:
# undertow.ssl.keyStore=pay.0530net.cn.jks
改成
undertow.ssl.keyStore=pay.0530net.cn.jks

2021-02-07 20:02

消灭问题比解决问题要高明

2021-02-07 20:02

这种情况下我建议用 ajax 交互,请求是在后台异常发生的,页面不会跳转,所以也就无需 keep 这个动作了

2021-02-07 19:28

@zhangtianxiao 如果是必定被增强过,那不但不是多余,而且是必须