2014-04-04 17 views

Trả lời

25

Giả sử bạn có một mô hình (Chó chẳng hạn), một Dog có thuộc tính khác nhau:
tên
tuổi
giống

nếu bạn muốn thực hiện một hình thức đơn giản để thêm/chỉnh sửa một con chó, bạn muốn sử dụng cái gì đó trông như thế này:

<form:form action="/saveDog" modelAttribute="myDog"> 

    <form:input path="name"></form:input> 
    <form:input path="age"></form:input> 
    <form:select path="breed"> 
     <form:options items="${allBreeds}" itemValue="breedId" itemLabel="breedName" /> 
    </form:select> 

</form:form> 

như bạn thấy đấy, tôi đã chọn breed tài sản để b e một select, vì Tôi không muốn người dùng gõ bất cứ điều gì giống ông muốn, Tôi muốn anh ta để lựa chọn từ một danh sách (allBreeds trong trường hợp này, mà bộ điều khiển sẽ được chuyển cho xem).

Trong <form:select> Tôi đã sử dụng path nói mùa xuân là lựa chọn có liên kết với các breed của mô hình Dog.

Tôi cũng đã sử dụng <form:options> để điền vào lựa chọn có tất cả các tùy chọn có sẵn cho thuộc tính breed.

Thông minh <form:select> và nếu nó hoạt động trên mô hình dân cư (ví dụ: Dog được lấy từ cơ sở dữ liệu hoặc với giá trị mặc định) - nó sẽ tự động chọn tùy chọn "đúng" từ danh sách.

Trong trường hợp này, bộ điều khiển sẽ trông giống như sau:

@RequestMapping(value="/saveDog") 
public String saveDog(@ModelAttribute("myDog") Dog dogFromForm){ 
    //dogFromForm.getBreed() will give you the selected breed from the <form:select 
... 
//do stuff 
... 
} 

Tôi hy vọng câu trả lời của tôi đã cho bạn một ý tưởng chung.

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