Что такое <spring: bind> for? Когда использовать его и когда его не использовать?
У меня возникают проблемы с отправкой данных формы в spring. <spring:bind>
представляется частью решения. См. Мою полную проблему здесь.
Документация BindTag найденная здесь, не ясна для меня. Почему <spring:bind>
необходимо в некоторых случаях отправлять данные, в то время как в большинстве случаев они не нужны?
Каковы типичные случаи, когда <spring:bind>
должен использоваться для правильной работы формы?
Ответы
Ответ 1
Вы найдете тег <spring:bind>
полезным, если вы хотите разобрать несколько объектов из формы ввода. Здесь представлен измененный пример из документа Spring doc (http://docs.spring.io/spring/docs/1.2.6/taglib/tag/BindTag.html):
<form method="post">
## now bind on the name of the company
<spring:bind path="company.name">
## render a form field, containing the value and the expression
Name: <input
type="text"
value="<c:out value="${status.value}"/>"
name="<c:out value="${status.expression}"/>">
</spring:bind>
<spring:bind path="address.street">
Name: <input
type="text"
value="<c:out value="${status.value}"/>"
name="<c:out value="${status.expression}"/>">
</spring:bind>
<input type="submit">
</form>
Ответ 2
Хотя я никогда не использовал этот тег сам, мое понимание документации - это. Тег предоставит вам информацию о статусе привязки свойства формы к bean. Например, в:
<form:form modelAttribute="employee">
<form:input path="name"/>
<spring:bind path="name"/>
<spring:bind path="employee"/>
</form:form>
Тег будет отображать (или выставлять через объект BindStatus) все ошибки, произошедшие с атрибутом имени (первый случай) и всеми ошибками в сущности Employee и его атрибутах (второй случай). Я не уверен, что этот тег имеет какое-либо отношение к успешности отправки данных, а скорее к тому, что он используется как информационный инструмент.