Spring получить значение dropbox, POST / GET? - PullRequest
0 голосов
/ 27 апреля 2011

это мой взгляд на / погода:

ФАЙЛ 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>
.....

ФОТО !!enter image description here

это мой контроллер для / погоды:

    @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";
}

это мой вид для / города:

ФАЙЛ 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 / city, он получаетвторой город из базы данных .. он работает .. метод getCity работает ... но когда я нажимаю кнопку отправки, он не работает .. это дает мне массу ошибок .. но я думаю, что я просто неправильно использую синтаксис

МОЙ ВОПРОС: в основном я хочу, чтобы он передавал значение dropbox в / city, а в контроллере / city он должен получить getCity (x), в данный момент я использую getCity (2) для тестирования.как я могу это сделать?

СПРОСИТЕ, ЕСЛИ У ВАС ЕСТЬ ВОПРОСЫ !!!

1 Ответ

1 голос
/ 27 апреля 2011

Метод getCurrentCity помечен @RequestMapping с параметром method=RequestMethod.GET, измените его на RequestMethod.POST

Также измените подпись вашего метода на:

public String getCurrentCity(@RequestParam("city") int city_id, Model model)

и вызовите метод getCity вашего сервиса, используя city_id

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...