sve*_*erg 10 embedded-jetty thymeleaf spring-boot embedded-tomcat-8
我正在使用Thymeleaf的Spring Boot 1.2.2.我的问题是我尝试在表单中发布一长串项目(一些标签,一个复选框),这些列表不能执行我的列表中的这么多项目.(我测试了小清单并且它有效.)
首先我使用了码头,但收到了错误,其中说:
java.lang.IllegalStateException: Form too many keys
at org.eclipse.jetty.util.UrlEncoded.decodeUtf8To(UrlEncoded.java:526)
Run Code Online (Sandbox Code Playgroud)
我搜索并看到了这篇文章.结果我补充说
applicationDefaultJvmArgs = ["-Dorg.eclipse.jetty.server.Request.maxFormKeys=8000"]
Run Code Online (Sandbox Code Playgroud)
到我的gradle.build,但它没有成功.结果我切换到Tomcat,它再次失败.错误消息是:
java.lang.IndexOutOfBoundsException: Index: 256, Size: 256
at java.util.ArrayList.rangeCheck(ArrayList.java:635)
Run Code Online (Sandbox Code Playgroud)
看起来它只能执行256个条目.我有大约500个条目.所以我认为增加maxhttpheadersize会有所帮助,并将此行添加到我的application.properties:
server.tomcat.max-http-header-size=-1
Run Code Online (Sandbox Code Playgroud)
(-1为无限制)我在我的Thymeleaf表格中设置method ="post".任何其他方式增加256限制?我不想分页我的结果.谢谢你的帮助.
Lea*_*edo 15
我认为这与AutoGrowCollectionLimit
Spring有关,尝试在控制器中包含此代码以增加它:
@InitBinder
public void initBinder(WebDataBinder binder) {
binder.setAutoGrowCollectionLimit(768);
}
Run Code Online (Sandbox Code Playgroud)
在Spring论坛中查看此主题,也可以在此处的官方文档中查看.
归档时间: |
|
查看次数: |
3250 次 |
最近记录: |