2021-01-27 20:47

@一只敲代码的猫 老版本可以照抄 getRawData() 里头的源码,也就两行代码

2021-01-27 16:48

@一只敲代码的猫

客户端发 json 是很方便的, 有很多同学并不知道浏览器中通过 js 代码也能发 json 数据,其实很方便:
function ajaxPostJson(url, jsonString, callback) {
$.ajax({
url: url, data: jsonString,
contentType: 'application/json; charset=UTF-8', // 关键参数
type: 'POST', cache: false, dataType: 'json',
error: function(ret) {alert(ret.statusText);},
success: function(ret) {....}
});
}

注意关键参数是:
contentType: 'application/json; charset=UTF-8'

注意上面的例子依赖 jquery

2021-01-27 16:12

@一只敲代码的猫 服务端目前只有 getBean、getModel、getPara、getRawData、形参注入五个系列的接收方式

你可以通过扩展 ParaGetter 来实现 List《Model》功能,也可以通过 getRequest() 得到 Request 对象以后,扩展实现

当然,最好还是让对方发送 json 数据,然后:
String jsonString = getRawData();
Map map = FastJson.getJson().parse(jsonString, Map.class);

因为 jsonString 转化成 List《Xxx》 的各类 json 工具已经成熟多年

2021-01-27 16:02

@一只敲代码的猫 得看对方怎么传递,对方不传 list,服务端也没办法

2021-01-27 15:03

@一只敲代码的猫 看对方传的格式是什么, 建议传 json 过来,然后你只需要在服务端 :
String jsonString = getRawData();
Map map = FastJson.getJson().parse(jsonString, Map.class);

2021-01-27 15:02

导入的关键是,一定要当成 maven 项目导入:
1:import
2:Maven
3:Existing Maven Project

注意导入前先配置好 maven :
https://jfinal.com/doc/1-1

2021-01-27 14:56

继承一下你需要用到的 Render,覆盖父类中的 render() 方法,放入自己的代码,然后用的时候这样:
render(new MyRender(....));

如果你希望在 render(String ...) 中用上 MyRender,可以继承 RenderFactory 覆盖 getRender(...) 来实现,最后要配置一下:
me.setRenderFactory(new MyRenderFactory());

你还可以在 BaseController extends Controller 中通覆盖或者新建 render 方法来用上你的 MyRender

2021-01-26 16:57

@zeroabc 之前的 undertow 版本一样有事,做事要细心

2021-01-26 16:25

浏览器发的请求中的 cookie 值含有一些无效控制字符: "invalid control characte"

打开浏览器开发者工具,将这些 cookie 删掉即可

显然是与 undertow 无关的

2021-01-22 15:45

@jf大哥大 静态资源在 fatjar 下面没有问题,下载首页的 jfinal demo,里面有一个打成 fatjar 的说明文件

2021-01-22 15:19

请求进入到了 filter,并且已经被 UrlSkipHandler 正确处理过了

后来出现的 404 是 tomcat 给出的,肯定就与 jfinal 无关了,你得让那些被 UrlSkipHandler 跳过的请求能被 tomcat 处理掉才可以

说白了就是你得让那些 url 的路径、文件名都要正确,否则 tomcat 必须要报 404

注意我的用词, 是 "必须" , 因为 tomcat 在找不到路径与文件的时候不出 404 是不行的

2021-01-22 15:14

扫描jar里面的action映射不需要改造,jfinal 新版本有这个功能:
https://jfinal.com/share/2311

其实,数据库映射也不需要扫描,因为生成器可以生成是映射,注意看文档

2021-01-21 15:37

你先找几位同学用起来,然后收集一下反馈

如果其他人不喜欢用生产出来不是最划算,剩下的价值就是你自己用着挺好

2021-01-21 01:02

注意上面代码中的 tableNameHashSet 中存放的是需要处理的 tableName 集合,只有在这个集合的才会被处理

你可以事先 new HashSet(),然后将你需要处理的 tableName 先放进去,这样就实现了你希望的功能了