0

JSP に次のコードがあります。

<form:form id="detailsForm" modelAttribute="project" method="post" action="${contextPath}/project/create">

<form:input type="hidden" path="id" value="${project.id}"/>

<form:input type="text" class="form-control" path="name" value="${fn:escapeXml(project.name)}"/><br/>

<form:input type="text" class="form-control" path="location" value="${fn:escapeXml(project.location)}"/><br/>

<form:input type="text" class="form-control" path="notes" value="${fn:escapeXml(project.notes)}"/><br/>

<button class="btn btn-default btn-flat btn-sm">Update</button>

</form:form>

これはうまくいかないようです。ボタンをクリックするUpdateと、コンソールにエラーが記録されますINVALID_CONFIDENTIAL_VALUE

ただし、POST メソッドもあるがパラメーターを持たないフォームは機能しているようです。

<form:form action="${contextPath}/project/delete/${project.id}" method="post">

	<button class="btn btn-default btn-flat btn-sm">Delete This Project</button>

</form:form>

私のフォームで何が間違っている可能性がありますか?

次の HDIV 構成があります。

<beans:bean id="hdivEditableValidator" class="org.hdiv.web.validator.EditableParameterValidator"/>
<mvc:annotation-driven validator="hdivEditableValidator"/>

<!-- Accepted pattern within the application for all editable parameters (generated from textbox and textarea) -->
<hdiv:validation id="safeText">
	<hdiv:acceptedPattern><![CDATA[^[a-zA-Z0-9@.\-_]*$]]></hdiv:acceptedPattern>
</hdiv:validation>

<hdiv:editableValidations>
	<hdiv:validationRule url=".*" enableDefaults="false">safeText</hdiv:validationRule>
</hdiv:editableValidations>

<hdiv:config
		debugMode="true"
		errorPage="/fix"
		excludedExtensions="css,png,gif,jpeg,jpg,js,woff,woff2,map"
		randomName="true"
		strategy="cipher">
		<hdiv:sessionExpired loginPage="/auth/login" homePage="/"/>

		<hdiv:startPages>/</hdiv:startPages>
		<hdiv:startPages method="get">/auth/denied,/fix,/,/auth/login,/auth/logout,/dashboard/,/image/display/project/profile/,/pmsys/image/display/staff/profile/</hdiv:startPages>
		<hdiv:startPages method="post">/j_spring_security_check</hdiv:startPages>
	</hdiv:config>

4

1 に答える 1

0

フォームで commandName を指定することで問題を解決しました

<form:form id="detailsForm"
                  											commandName="project"
                  											method="post"

非表示の入力を次のように変換:

<form:hidden path="id"/>

于 2015-04-15T07:29:14.403 に答える