2011-12-21 18 views
12

Tôi đang tìm kiếm sự khác biệt giữa mùa xuân: ràng buộc và hình thức: thư viện thẻ biểu mẫu khi gửi biểu mẫu.Mùa xuân MVC: Sự khác biệt giữa mùa xuân: ràng buộc và hình thức: mẫu

Một đoạn JSP của tôi là như sau:

<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> 
.... 

Thấy như tôi đã biến con đường của tôi quy định và điều này sẽ bị ràng buộc để modelAttribute của tôi, điều này không có nghĩa là tôi không cần mùa xuân: bind?

Cảm ơn

Trả lời

24

Thông thường bạn không cần phải sử dụng <spring:bind> nếu bạn đã sử dụng form taglib.

Về cơ bản chúng giống nhau về các thuộc tính mô hình, nhưng các thẻ từ mã vạch form cũng tạo đánh dấu biểu mẫu HTML, trong khi với <spring:bind> bạn cần tự tạo đánh dấu.

Các mã sau đây với form tags:

<form:form modelAttribute = "foo"> 
    <form:input path = "bar" /> 
</form:form> 

cũng tương tự như đoạn mã sau với <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> rất hữu ích khi bạn cần một cái gì đó tùy biến, mà không thể đạt được bằng cách form taglib .

+0

Cũng được giải thích, cảm ơn – DJ180

Các vấn đề liên quan