我正在使用Spring Boot 1.2.2與Thymeleaf。 我的問題是我嘗試在表單中發佈很長的項目列表(一些標籤,一個複選框),無法執行我列表中的很多項目。 (我測試了小名單和它的工作。)不能發表與許多(超過256)的值的形式
首先,我用的碼頭,但得到了一個錯誤,它說:我搜索
java.lang.IllegalStateException: Form too many keys
at org.eclipse.jetty.util.UrlEncoded.decodeUtf8To(UrlEncoded.java:526)
,看到這個post。由於我添加了
applicationDefaultJvmArgs = ["-Dorg.eclipse.jetty.server.Request.maxFormKeys=8000"]
我的gradle.build,但它沒有解決。因此,我切換到Tomcat,並再次失敗。錯誤消息是:
java.lang.IndexOutOfBoundsException: Index: 256, Size: 256
at java.util.ArrayList.rangeCheck(ArrayList.java:635)
看起來像它只能執行256個條目。我有大約500個參賽作品。因此,我認爲增加maxhttpheadersize將幫助並添加此行到我的application.properties:
server.tomcat.max-http-header-size=-1
(-1爲無限制)我在Thymeleaf形式設置方法=「後」。任何其他方式來增加256限制?我不想分頁我的結果。謝謝你的幫助。
只是一個快速評論。我使用的是Spring Boot 1.3.3,當我設置server.tomcat.max-http-header-size = 0時,它實際上並沒有改變配置。單步執行代碼,這意味着使用默認值,即8192.我將它設置爲一個很大的值65536,並且工作。 – 2016-03-31 22:12:48