Tôi muốn chia sẻ sự cố của tôi với bạn.Cách chuyển dữ liệu từ <form:select> Spring MVC
tôi đã xây dựng trên trang jsp và sử dụng trên trang web của tôi một số <form:select>
nó sử dụng <form:select>
để trích xuất và đưa ra dữ liệu từ DB khi tôi yêu cầu các trang search.jsp
và người sử dụng phải chọn một:
<form action="result" method="get" >
<table>
<tr>
<th>Date fro DB:</th>
<td><form:select path="listOfDates">
<form:option value="NONE"> --SELECT--</form:option>
<form:options items="${listOfDates}"></form:options>
</form:select>
</td>
</tr>
<tr>
<th>Name of company from DB:</th>
<td><form:select path="listOfInstitutionsNames">
<form:option value="NONE"> --SELECT--</form:option>
<form:options items="${listOfInstitutionsNames}"></form:options>
</form:select>
</td>
</tr>
<tr>
<th>Type of company from DB:</th>
<td>
<form:select path="listOfInstitutionsTypes">
<form:option value="NONE"> --SELECT--</form:option>
<form:options items="${listOfInstitutionsTypes}"></form:options>
</form:select>
</td>
</tr>
<tr>
<td><input type="submit" value="Извлечь"/></td>
</tr>
</table>
</form>
tôi cần phải vượt qua những gì người sử dụng lựa chọn theo yêu cầu của tham số để điều khiển của tôi, đây là mã của điều khiển:
@Controller
public class HomeController{
@Autowired
private ControllerSupportClass controllerSupportClass;
@RequestMapping(value="/search", method=RequestMethod.GET)
public String search(Model model) {
List<Date> listOfDates = controllerSupportClass.findAllDatesForm();
List<String> listOfInstitutionsNames = controllerSupportClass.findAllInstitutionsForm();
List<String> listOfInstitutionsTypes = controllerSupportClass.findAllTypesForm();
model.addAttribute("listOfInstitutionsTypes", listOfInstitutionsTypes);
model.addAttribute("listOfInstitutionsNames", listOfInstitutionsNames);
model.addAttribute("listOfDates", listOfDates);
return "search";
}
@RequestMapping(value ="/result", method=RequestMethod.GET)
public String SecondActionPage(@RequestParam String particularDate,
@RequestParam String nameOfInstitution,
@RequestParam String typeName,
Model model) throws Exception {
if(particularDate !="" && nameOfInstitution.trim() !="" && typeName.trim()=="") {
controllerSupportClass.findWithDateAndName(nameOfInstitution, particularDate, model);
} else if(particularDate.trim() !="" && nameOfInstitution.trim() =="" && typeName.trim() !="") {
controllerSupportClass.findWithAddedDateAndType(typeName, particularDate, model);
} else if(particularDate.trim() !="" && nameOfInstitution.trim() =="" && typeName.trim() ==""){
controllerSupportClass.findWithAddedDate(particularDate, model);
} else if(particularDate.trim() !="" && nameOfInstitution.trim() !="" && typeName.trim() !="") {
throw new Exception("Search by choose all parameters is not exceptable");
} else {
throw new Exception("You didn't put any search parameters");
}
return "search";
}
}
như bạn có thể thấy tôi SecondActionPage()
phương pháp sử dụng @RequestParam
chú thích để có được thông số từ url và sau khi xác nhận chúng và chuyển chúng sang phương thức khác để trích xuất dữ liệu tương ứng trên các tham số yêu cầu ... Nhưng vấn đề là tôi không thể truyền chúng. Nó chỉ cho tôi như thế này http://localhost:8080/controller/result?
và sau đó? không có gì đi qua. Làm thế nào tôi có thể vượt qua tất cả các thông số được chọn của tôi từ serach.jsp
cảm ơn bạn.
đã giúp tôi, nhưng cần tạo đối tượng 'lệnh' mới cho tất cả thuộc tính' Tìm kiếm' của tôi –