0
Я пытаюсь передать значение из jsp в контроллер POST.получить выбранное значение в контроллере - jsp/spring
У меня есть контроллер ПОЛУЧАЕТ:
@RequestMapping(value = "/matches/{pageNumber}/", method = RequestMethod.GET)
public String games(@PathVariable Integer pageNumber, Model model) {
....
//build map for dropdown compatitions
HashMap<Integer, String> leaguesMap = new HashMap<Integer, String>();
leaguesMap.put(1, "Top Leagues");
leaguesMap.put(2, "All");
for (Competition competition : competitions) {
if(!leaguesMap.containsKey(competition.getApiId())){
leaguesMap.put(competition.getApiId(), competition.getName());
}
}
model.addAttribute("leaguesMap", leaguesMap);
.....
return "upcomingMatches";
}
, а затем в JSP:
<form:form modelAttribute="leaguesMap" action="drop" class="dropdown-leagues" method="POST">
<form:select path="${leaguesMap.value}" id="league-selection" onchange="this.form.submit()" class="form-control select-filter select2-hidden-accessible" aria-hidden="true">
<form:options items="${leaguesMap}" />
</form:select>
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/>
</form:form>
Я пытаюсь получить выбранное значение в контроллере POST:
@RequestMapping(value = "/matches/{pageNumber}/drop", method = RequestMethod.POST)
public String games(@ModelAttribute("leaguesMap") String leaguesMap, @PathVariable Integer pageNumber, BindingResult result) {
String fff = leaguesMap;
System.out.println("asadasdadsa"+fff);
return "redirect:/matches/{pageNumber}/";
}
Но получение всегда null. Если вы можете дать мне направление, как действовать, это будет здорово. Спасибо!
Имеет ли смысл иметь класс модели для каждого выпадающего списка? – ygrunin
Вам не нужно иметь модель для каждого раскрывающегося списка, вместо этого создайте модель в соответствии с содержимым вашей формы. – mhshimul
Что делать, если мне нужно получить значение из jsp без формы? Является ли это возможным? – ygrunin