2022-04-16 16:40

想动态取 Size 对象的方法,有多种方式,
一个是声明式:
#if('width' == attr.name)#(data.width)
#elseif('height' == attr.name)#(data.height)
#end

还有改变Size 类,使其继承Kv对象,然后去掉成员属性,this.赋值和取值改使用set 和get 方法代替。
这样模板中就可以这样动态取了:
#(data.get(attr.name))

还有其他方式,比如增加SharedMethod方法里面转调反射方法取值,
#(get(data, attr.name))
还可扩展一下Engine等

2022-04-13 11:13

@jfinal009 先MD5?再转?

2022-04-06 10:17

Enjoy 模板引擎专为 java 开发打造,工具定位更宽一些。所以
没有内置javaweb业务对象,只需要在 Controller 加一行 set 代码转调一下,
或者抽取为全局拦截器再set 即可。
https://jfinal.com/doc/3-6
https://jfinal.com/doc/4-2

https://jfinal.com/doc/6-8

2022-03-30 11:13

@jiangyunwei 是的,不如写成结果值,我就不喜欢写多少乘以多少整个运算,不如写结果值,再加一行汉字注释比啥都强,或者放在配置文件里面

2022-03-30 10:47

@jiangyunwei
提示:超出限制大小
Posted content length of 1653327211 exceeds limit of 1073741824

按说就是这样了,if 1653327211 > 5368709120 throw
那不应该成立才对,所以你那打断点看最方便,追进去看看是什么情况,或者是不是类没更新啥的情况

2022-03-29 15:34

@jiangyunwei 使用JF 4.9.21版本,cos组件升级到2022.2,就支持上传2GB以上的文件了,玛雅牛大大Pull的。
@JFinal 波总文档version没有更新 https://jfinal.com/doc/3-11

2022-03-28 17:49

@jiangyunwei 理论上是可以控制jar的加载顺序,但需要特殊处理java启动参数。默认不好控制谁先加载谁后加载了。
Tomcat是/WEB-INF/classes先于/WEB-INF/lib加载,没事。
jfinal-undertow开发时也没事,也是先扫File。
但是上线时都是jar了,没特殊处理,肯定会翻车,很明显你上面报的异常就是jf的Cache类先加载了,所以才找不到 带 setexStr的方法啊。
除非上线的时候把jf里面的Cache类删除掉,这样才是保险的。但是后续的项目升级又很麻烦,jf升级了,你替换的类如果多了,处理起来是很麻烦的事情。
所以还是用extends继承吧,按推荐的来

2022-03-27 15:48

”重写“不是这样重写的,你这个操作叫替换,
并且undertow发布时,项目代码全部打包为jar了,
这样jfinal-undertow生产模式的ClassLoader加载器加载时就没有先后顺序了,
对业务jar一视同仁,你项目代码的jar 和 jf的jar 该类会冲突。
其次 jfinal 的Cache 也没有 setexStr 吧?以前有?

正常应该是:
public class MyCache extends com.jfinal.plugin.redis.Cache {
@Override
public String setex(Object key, int seconds, Object value) {
return xxx;
}
xxxx
}
直接启动设置:
Cache cache = new MyCache(cacheName, jedisPool, serializer, keyNamingPolicy);
Redis.addCache(cache);

或者用RedisPlugin启动设置:
new RedisPlugin(xxx){
@Override
public boolean start() {
复制RedisPlugin里面的start代码过来
Cache cache = new MyCache(this.cacheName, jedisPool, this.serializer, this.keyNamingPolicy);
Redis.addCache(cache);
return true;
}
};

业务中使用:
MyCache cache = (MyCache)Redis.use();
cache.xxx 可以调用自己定义的方法,JF的Cache没有定义得方法都可以调用了

2022-03-23 20:35

很赞,用起来应该很方便。有个地方没看懂,就是那个
static MultipartFormData md
按说Request对象是该次请求的对象,但是如果声明为static的话,那么并发之下,
if(null==md){ 这个if就很迷糊了。
所以是不是多写了一个static声明啊?

2022-03-14 08:51

代理模式
集群架构的本地盘实例默认采用代理(proxy)模式,支持通过一个统一的连接地址(域名)访问Redis集群,客户端的请求通过代理服务器转发到各数据分片,代理服务器、数据分片和配置服务器均不提供单独的连接地址,降低了应用开发难度和代码复杂度。代理模式的服务架构图和组件说明如下。
https://help.aliyun.com/document_detail/99977.html

2022-03-11 16:53

@chcode 妙哇!解决各种特殊符号,我把代码贴上去

2022-03-09 10:39

我没试验,网友说是:
PropertyConfigurator.configure(各种参数)

2022-03-03 14:37

Header好,都没想到用这个,收藏收藏