Comment passer des données à partir de <forme:select> Spring MVC
Je voudrais partager mon problème avec vous.
J'ai construit sur jsp page et l'utiliser sur ma page quelques-unes de <form:select>
il utiliser <form:select>
d'extraire et de restituer les données à partir de DB lorsque je demande la page search.jsp
et à l'utilisateur de sélectionner un:
<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>
J'ai besoin de transmettre ce que l'utilisateur de sélectionner en tant que paramètre de la requête de mon contrôleur, voici le code de contrôleur:
@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";
}
}
Comme vous pouvez le voir mon SecondActionPage()
utilisation d'une méthode de @RequestParam
annotation pour obtenir les paramètres à partir de l'url et après les valider et de les transmettre à une autre méthode pour extraire les données correspondantes sur les paramètres de la demande... Mais le problème est que je ne peux pas les passer. Il vient de me montrer comme ça http://localhost:8080/controller/result?
et après ? rien de en passant. Comment puis-je passer cet ensemble de mes choisie paramètres de serach.jsp
merci.
Vous devez vous connecter pour publier un commentaire.
Je crois que vous devriez utiliser
<form:select>
à l'intérieur de la<form:form>
.Il devrait ressembler à ceci:
de recherche.jsp:
HomeController.java:
MyForm.java:
Espère que cette aide.
command
objet de tous mesSearch
attributs