Spring MVC:spring:bind和form:form之间的区别

我正在寻找提交表单时spring:bind和form:form标签库之间的区别。

我的JSP的片段如下:

<form:form modelAttribute="testRulesForm">

....

<td>

<form:checkbox path="rules[${counter.index}].isActive" value="rules[${counter.index}].isActive"/>

</td>

<td>

<form:select path="rules[${counter.index}].leftCondition.name">

<form:options items="${testRulesForm.ruleAttributes}" itemLabel="name" itemValue="name" />

</form:select>

</td>

<td>

<form:select path="rules[${counter.index}].operator">

<form:options itemLabel="operator" itemValue="operator" />

</form:select>

</td>

....

看到我指定了路径变量,并且该变量将绑定到我的modelAttribute上,这是否意味着我不需要spring:bind?

谢谢

回答:

通常,<spring:bind>如果您已经在使用formtaglib,则无需使用。

它们在模型属性方面基本相同,但是formtaglib的标签还生成HTML表单标记,而<spring:bind>您需要自己生成标记。

以下带有form标签的代码:

<form:form modelAttribute = "foo">

<form:input path = "bar" />

</form:form>

与以下代码类似<spring:bind>

<spring:bind path = "foo">

<form method = "get">

<spring:bind path = "bar">

<input name = "bar" value = "${status.displayValue}" />

</spring:bind>

</form>

</spring:bind>

<spring:bind>当您需要定制的东西(formtaglib 无法实现)时,此功能很有用。

以上是 Spring MVC:spring:bind和form:form之间的区别 的全部内容, 来源链接: utcz.com/qa/407612.html

回到顶部