Thymeleaf で Spring Boot 1.2.2 を使用しています。私の問題は、アイテムの長いリスト (いくつかのラベル、1 つのチェックボックス) をフォームに投稿しようとしているため、リストの非常に多くのアイテムを実行できないことです。(小さなリストをテストしたところ、うまくいきました。)
最初に jetty を使用しましたが、次のようなエラーが発生しました。
java.lang.IllegalStateException: Form too many keys
at org.eclipse.jetty.util.UrlEncoded.decodeUtf8To(UrlEncoded.java:526)
この投稿を検索して見ました。結果として、私は追加しました
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 フォームに method="post" を設定しました。256 の制限を増やす他の方法はありますか? 私は自分の結果を改ページしたくありません。助けてくれてありがとう。