2019-11-08 13:49
注意对比 ArpTest1 与 ArpTest2 的 addMapping(...)
ArpTest1.addMapping("BAS_BRAND", "BRAND_CODE", BasBrand.class);
ArpTest2.addMapping("BAS_BRAND", "BRAND_CODE", BasBrand.class);
这两个 addMapping 映射了同一个 BasBrand.class,所以就会有这个异常
Model 在一个应用中是全局唯一的,多数据源的时候也只能映射一次,以前老版本虽然没做限制,但最终只有最后一次映射有效,前一次映射会被覆盖
2019-11-08 13:44
@leomj 使用 jfinal 的 Render 扩展出各种格式的响应数据极度便利,比扩展 spring 的 ViewResolver 简单 32 倍
享主的分享简单实用,必须赞
2019-11-07 17:22
你这个需求可以通过 undertow 的反向代理来解决,这里是 undertow 官方给出一例子代码:
https://github.com/undertow-io/undertow/blob/master/examples/src/main/java/io/undertow/examples/reverseproxy/ReverseProxyServer.java
ReverseProxyServer.java 这个例子中,注意看第 78 行以及 84 行的代码:
LoadBalancingProxyClient loadBalancer = new LoadBalancingProxyClient();
Undertow reverseProxy = Undertow.builder();
其中 loadBalancer 可以用于配置成接管你自己的项目,其中 reverseProxy 是反向代理
学会了这个用法以后,再参考 jfinal 官网的文档将 jfinal 项目整合进去:
https://www.jfinal.com/doc/1-4
undertow 整合组件无非就是添加 Handler 之类的东东
2019-11-07 16:59
注意看 jfinal 4.7 的 TableMapping.java 代码的第 38 行:
https://gitee.com/jfinal/jfinal/blob/jfinal-4.7/src/main/java/com/jfinal/plugin/activerecord/TableMapping.java
第 38 行的 if 判断在 4.5 版本之中的确是没有的:
https://gitee.com/jfinal/jfinal/blob/jfinal-4.5/src/main/java/com/jfinal/plugin/activerecord/TableMapping.java
这个判断其实是为了让你的代码更加稳固而添加的,因为 Model 只能被映射一次,而你自己的项目中将 BasBrand 映射了多次,这个在 jfinal 4.5 中虽然没有提示错误,但仅仅是最后一次映射有效
检查一下各个数据源的 mapping 代码,去掉那个重复的 BasBrand 映射即可,只保留一个
2019-11-07 16:52
renderToString 方法会将数据与模板结合并渲染成 String 字符串,所以得到的值一定是 String
如果希望实现你的功能,可以参考一下 com.jfinal.kit.ElKit.java 中的代码,可以这么来用:
1:不带参示例
Integer value = ElKit.eval("1 + 2 * 3");
2:带参示例
Kv data = Kv.by("a", 2).set("b", 3);
Integer value = ElKit.eval("1 + a * b", data);
具体的思路是将求值结果存放在一个叫 RETURN_VALUE_KEY 的变量之中,最后再通过 data.get(RETURN_VALUE_KEY) 获取该值
2019-11-07 15:33
@一个程序员 做成双向认证只需要在这个代码里头添加一点点东西:
https://gitee.com/jfinal/jfinal-undertow/blob/master/src/main/java/com/jfinal/server/undertow/ssl/SslBuilder.java
也就是下面这行代码中:
sslContext.init(getKeyManagers(sslConfig), null, null);
第二个参数的 null 改为 TrustManager 即可,而这个 TrustManager 的密钥库的加载方式与之 keyManager 的完全一样,可以重用 loadKeyStore 方法进行加载
你的贴子正文一开始并没有提出详细的需求,建议你将你的方案简单发个分享出来:
http://jfinal.com/share