2024-11-15 08:54
@JFinal 是否考虑融合到jf底层,多数据源这个也有可能是刚需,看也是直接使用jdbc XAConnection
2022-07-01 01:07
看上面你的问题描述,业务要求是对请求过来参数(json)做密数处理了,现在你的想法是将这些已加密参数做个统一解密处理,然后在validate、controller中直接使用,这个问题通过重写JsonRequest(这个类已经接管request) 如:MyJsonRequest 然后如下:
一、重写这处理json数据
public JsonRequest(String jsonString, HttpServletRequest req) {
Object json = com.alibaba.fastjson.JSON.parse(jsonString);
if (json instanceof com.alibaba.fastjson.JSONObject) {
jsonObject = (com.alibaba.fastjson.JSONObject)json;
} else if (json instanceof com.alibaba.fastjson.JSONArray) {
jsonArray = (com.alibaba.fastjson.JSONArray)json;
}
this.req = req;
}
二、重写这处理getPara(xx)数据
@Override
public String getParameter(String name) {
// String[] ret = getParaMap().get(name);
// return ret != null && ret.length != 0 ? ret[0] : null;
// 优化性能,避免调用 getParaMap() 触发调用 createParaMap(),从而大概率避免对整个 jsonObject 进行转换
if (jsonObject != null && jsonObject.containsKey(name)) {
Object value = jsonObject.get(name);
if (value instanceof com.alibaba.fastjson.JSON) {
return ((com.alibaba.fastjson.JSON)value).toJSONString();
} else if (value != null) {
return value.toString();
} else {
// 需要考虑是否返回 "",表单提交请求只要 name 存在则值不会为 null
return null;
}
} else {
return req.getParameter(name);//这个位置处理解密数据
}
}
三、在constants配置
me.setJsonRequestFactory((json, req)->{
return new MyJsonRequest(json, req);
});
这解决方案不行么?为何搞得如此复杂。
2020-11-20 23:59
解决方案:
一、使用模板直接render可用#date 指令 date指令用于格式化输出日期型数据,包括Date、Timestamp等一切继承自Date类的对象的输出: #date(account.createAt)或#date(account.createAt, "yyyy-MM-dd HH:mm:ss");
二、如果传到前台是json格式,在在your config中 public void configConstant(Constants me){}配置想要的日期格式如:me.setJsonDatePattern("yyyy-MM-dd HH:mm:ss");
2020-11-11 19:04
@北流家园网 你的这个顾虑我曾有思考过这个问题,坚决然而然的选择扫描路由,完全不用担心通过controllerPath无法定位控制类的问题,除非你在controllerPath命名本来就是经常干这【张冠李戴】这个没办法,或者团队中其他成员也是也是经常干这种【张冠李戴】的事情,建议你还是用手动绑定路由【但也不是绝对接的可以通过搜索来定位控制器类】;或者是自己本来就是喜欢路由控制器绑定全局观的这种的也建议你使用手动绑定路由一目了然,不过使用手动绑定路由也存在一个小问题【因人而易】,比如我自己对代码强迫症的都要必须手动排版成金字塔排版路由样式其实没什么作为就是为了看得顺眼而已,实则在浪费时间。
2020-11-11 18:40
@qsyan 提供扫描路线非但不偏反而更加实用、自由度更广群体,即使官方不实现扫描路由,社区一样有很多人有这个需求或使用第三方不稳定的扫描路由,最后一句中肯的:使用与否完全取决用户,JF适应能力更强。