这是我对/ 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";
}
当我按下按钮时,它应该转到我的/ city页面并显示从service.getCity(2)获得的城市。
我的问题:
当我只是转到url / city时,它从数据库中获取第二个城市。.ITWORKS..getCity方法有效...但是,当我按下Submit按钮时,它不起作用..这给了我很多错误..但我认为我使用的语法错误
我的问题:
基本上我希望它将保管箱值传递给/ city,并且在/ city控制器中它应该为getCity(x),此刻我正在使用getCity(2)进行测试。我该怎么做?
询问是否有问题!!!
最佳答案
使用参数@RequestMapping
的method=RequestMethod.GET
注释方法getCurrentCity,将其更改为RequestMethod.POST
还将您的方法签名更改为:
public String getCurrentCity(@RequestParam("city") int city_id, Model model)
并使用city_id调用服务的getCity方法