2012-06-19 20 views
8

Tôi có vấn đề với:mùa xuân <form: hộp kiểm> thẻ và css lớp

<form:checkboxes path="roles" cssClass="checkbox" items="${roleSelections}" /> 

Nếu dòng trước đó được sử dụng trong jsp, sau đó tạo ra html trông giống như:

<span><input id="roles1" name="roles" class="checkbox" type="checkbox" value="ROLE_NEWUSER"/><label for="roles1">ROLE_NEWUSER</label></span> 
<span><input id="roles2" name="roles" class="checkbox" type="checkbox" value="ROLE_USER" checked="checked"/><label for="roles2">ROLE_USER</label></span> 
<span><input id="roles3" name="roles" class="checkbox" type="checkbox" value="ROLE_EDITOR"/><label for="roles3">ROLE_EDITOR</label></span> 
<span><input id="roles4" name="roles" class="checkbox" type="checkbox" value="ROLE_ADMINISTRATOR"/><label for="roles4">ROLE_ADMINISTRATOR</label></span> 

Xin lưu ý css lớp được thêm vào thẻ đầu vào. Thay vào đó, lớp css được thêm vào thẻ đầu vào Tôi cần lớp này để thêm vào thẻ span. Có giải pháp nào cho vấn đề của tôi hay không, sau đó sử dụng thẻ <c:forEach>

Xin cảm ơn trước. Xin lỗi nếu câu hỏi là trùng lặp. Nếu có, vui lòng chỉ cho tôi câu hỏi ban đầu.

Chúc mừng, Tihomir

P.S .:

Tôi đang sử dụng 3.1.0.RELEASE mùa xuân.

+0

tại sao bạn không muốn sử dụng 'forEach'? – davioooh

+0

Tôi hy vọng rằng có cách ngắn hơn sau đó viết vòng lặp foreach. :) – Tiho

Trả lời

5

Bạn có thể thử này:

<c:forEach var="item" items="${roleSelections}"> 
    <span class="checkbox"><form:checkbox path="roles" value="${item}"></span> 
</c:forEach> 
+0

tại thời điểm này không phải là tùy chọn, bởi vì roleSelections là mảng chuỗi. – Tiho

+0

nếu 'mục' của bạn là một chuỗi, bạn có thể sử dụng đơn giản' $ {item} ' – davioooh

+0

nhờ mẹo. Nó hoạt động. – Tiho

0

Without foreach vòng lặp, bạn có thể thử mã dưới đây

Xác định css ví dụ

<style type="text/css"> 
      div { 
       padding-left: 10px; 
       background-color: #00ae42; 
      } 
     </style> 

Và sau đó trong mã remove bạn "CssClass" thuộc tính hộp kiểm sử dụng thuộc tính "phần tử". và đối với thuộc tính phần tử này, bạn đã chỉ định css ở trên. Ví dụ:

<form:checkboxes path="roles" element="div" items="${roleSelections}" /> 

Tham khảo bên dưới liên kết cho các hộp kiểm Spring MVC thuộc tính http://static.springsource.org/spring/docs/2.0.x/reference/spring-form.tld.html#spring-form.tld.checkboxes

+0

điều này sẽ không hữu ích, vì có rất nhiều thẻ div trong chế độ xem đó. Bất kỳ cách nào cảm ơn đã chỉ cho tôi về tài liệu. Tôi nghĩ rằng điều này sẽ giúp ích trong tương lai. – Tiho

21

Tất cả bạn cần làm là xác định 'tố' thuộc tính:

<form:checkboxes path="roles" element="span class='checkbox'" items="${roleSelections}" /> 

này sẽ kèm theo mỗi "đầu vào" tag và "nhãn" trong khoảng thời gian với lớp 'hộp kiểm'.

+1

Đây là câu trả lời hay hơn. Có lẽ bạn muốn các hộp kiểm được hiển thị trên mỗi dòng riêng. Trong trường hợp đó, thuộc tính attribute = "div" là những gì bạn đang tìm kiếm :) – theadam

+0

ty, Nó cũng làm việc cho div của tôi :) –

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