問題
- 多数のフィールドを持つ新しいフォームを作成しています。
- ある時点でフォームを保存しようとすると、それ以上フィールドを追加できなくなります: 保存しようとすると、空白のページが表示され、以下のエラーがログに表示されます:
PortletServlet:117] null
javax.portlet.PortletException: java.lang.IllegalStateException: The property "serializedFormContext" is required
at com.liferay.portal.kernel.portlet.bridges.mvc.BaseTransactionalMVCActionCommand.processAction(BaseTransactionalMVCActionCommand.java:58) ~[portal-kernel.jar:?]
....
Caused by: java.lang.IllegalStateException: The property "serializedFormContext" is required
at com.liferay.dynamic.data.mapping.form.builder.internal.context.DDMFormContextToDDMForm.deserialize(DDMFormContextToDDMForm.java:77) ~[?:?] - フォームのフィールド数に制限はありますか?
環境
- Liferay DXP 7.4
解決
- これは既知の問題ですが、既存の回避策があります。
- portal-ext.propertiesで、プロパティcom.liferay.portal.kernel.upload.FileItem.threshold.sizeのデフォルト値を変更します。 デフォルト値は 1048576 (1 MB) です。 2097152 (2 MB) 以上に増やしてください。
-
新しい値が 2 MB を超えていて、Tomcat を使用している場合は、 maxPostSize 値を増やして server.xml ファイルも変更する必要があります。
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"
maxPostSize="8000000" />