#java #spring #jsp #wsdl
#java #spring #jsp #wsdl
Вопрос:
это мое мнение для / weather:
ФАЙЛ JSP
....
<form method="post" action="/spring/krams/show/city">
<select name="city">
<c:forEach items="${cities}" var="city">
<option value="<c:out value="${city.id}" />"><c:out value="${city.city}" /></option>
</c:forEach>
</select>
<input type="submit" value="Test" name="submit" />
</form>
.....
КАРТИНКА!!
это мой контроллер для / weather:
@RequestMapping(value = "/weather", method = RequestMethod.GET)
public String getCurrentWeather(Model model) {
logger.debug("Received request to show cities page");
// Attach list of subscriptions to the Model
model.addAttribute("cities", service.getAllCities());
// This will resolve to /WEB-INF/jsp/subscribers.jsp
return "weather";
}
это мое представление для / city:
ФАЙЛ JSP!
....
<h1>Cities</h1>
<c:out value="${city.city}" />
....
это мой контроллер для / city:
@RequestMapping(value = "/city", method = RequestMethod.GET)
public String getCurrentCity(Model model) {
logger.debug("Received request to show cities page");
model.addAttribute("city", service.getCity(2));
// This will resolve to /WEB-INF/jsp/citys.jsp
return "city";
}
когда я нажимаю кнопку, она должна перейти на страницу my / city и показать город, который я получил из service.getCity (2) .
МОЯ ПРОБЛЕМА:
когда я просто перехожу к URL / городу, он получает второй город из database..IT РАБОТАЕТ ..Метод getCity работает…но когда я нажимаю кнопку отправки, это не работает .. это выдает мне кучу ошибок .. но я думаю, что я просто неправильно использую синтаксис
МОЙ ВОПРОС: в принципе, я хочу, чтобы он передавал значение dropbox в / city, а в / city controller оно должно getCity (x), на данный момент я использую getCity (2) для тестирования. как я могу это сделать?
СПРАШИВАЙТЕ, ЕСЛИ у ВАС ЕСТЬ ВОПРОСЫ!!!
Ответ №1:
Метод getCurrentCity помечен @RequestMapping
параметром method=RequestMethod.GET
, измените его на RequestMethod.POST
Также измените подпись вашего метода на:
public String getCurrentCity(@RequestParam("city") int city_id, Model model)
и вызовите метод getCity вашего сервиса, используя city_id