2019-10-14 12:05

@代号而已 你现在正在用的本站的 ajax 提交回复功能就能避免重复提交,照抄这个页面的相关代码即可

2019-10-13 12:50

@山东小木 apache 那个有很多第三方依赖,况且文件上传这个属于 http 协议,很多年都没有变动过

2019-10-13 11:45

用官方生成器生成 getter setter 方法即可,否则只能用 getModel

2019-10-12 23:13

这个测试结果并不理想,俱乐部群里面有测试值达到 38000 的

可能是 renderNull() 拖慢了速度,改成 renderText("ok") 试一下

当然,性能测试还与很多因素有关

2019-10-12 18:57

这个问题,对于后端的 jfinal 来说就是一句 getFile 完事了

对于前端来说,你得写好 js 代码,参考这里:
https://www.jianshu.com/p/380661f02997

2019-10-12 18:52

应该是 ehcache.xml 配置有问题,你貌似配置了 RMI ,找找 ehcache 的配置文档

2019-10-12 18:51

@代号而已 ajax 的回调函数输出 alert(data) 看看返回的数据到底是什么,不要 if 判断,直接输出看看

2019-10-12 12:14

补充一下,使用 jquery 的 ajax 上传,一般是构造一个 form 表单,form 表单要配置 enctype="multipart/form-data" 属性

如果页面没有 form 表单,可以动态构造一个,如果有页面但不希望被看见,可以让 input type="file" 隐藏起来

2019-10-12 12:09

打开浏览器开发者工具,查看请求的 enctype="multipart/form-data" 是不是对的,文件上传需要配置这个参数

此外,java 端的 catch 中需要 renderJson(...) 才能反回正确的数据给客户端

2019-10-12 12:05

@1055356469 目前 eclipse 支持这个功能, IDEA 支持还在开发中

enjoy 模板引擎的指令极少,并且与 java 规则保持一致,例如:#for、#if、#switch , 这些指令无论是名称还是用法都与 java 保持一致,学习成本极低

因此,即便没有代码提示功能也易于使用,建议坚持用一到两天,会发现提示功能其实可有可无

提示功能用于 enjoy 的好处,或许就剩一个提升输出时的效率

2019-10-11 11:17

@Psbye 拦截器中可以用的,而且提倡这么用
inv.getController().getRawData()

2019-10-10 21:11

@蕾紫喵 单独排查一下那个没有数据的表, 用排除法

2019-10-10 21:10

@苏伟伟 getRawData() 要在 getContentType() 、getPara 等方法之前先调用一次

2019-10-10 15:12

在 undertow 之下的配置可能是下面这样的:
UndertowServer.create(MyAppConfig.class)
.onStart( builder -> {
builder.setServerOption(UndertowOptions.MAX_ENTITY_SIZE, 1024 * 1024 * 100);
})
.start();

上面的这种配置方式在文档中有过介绍:
https://www.jfinal.com/doc/1-4

tomcat、jetty 都有类似的配置,web server 默认会限定每次提交的数据量的大小,否则攻击者可以无限制提交极大的数据,从而可以大量占用 web server 资源,实现攻击的目的

2019-10-10 15:07

jfinal 比较高的版本提供了一个 getRawData() 方法,已经取代了 HttpKit.readData(...)

getRawData() 的优点是可以反复多次调用,不会抛异常