我知道这应该很容易,但是在尝试了几件事后我被卡住了。我只是想在我的 jsp 中显示一个基本的下拉列表。Spring 版本是 3,所以我希望一切都可以使用注释。
带有下拉列表的 JSP 表单:
<form:form method="post" commandName="countryForm">
<table>
<tr>
<td>Country :</td>
<td><form:select path="country">
<form:option value="Select" label="Select" />
</form:select>
</td>
<tr>
<td colspan="3"><input type="submit" /></td>
</tr>
</table>
</form:form>
CountryForm.java 是一个普通对象,具有单个字符串属性“country”,以及它的 getter 和 setter。
处理 GET 请求的控制器如下:
@Controller
public class CountryFormController {
@RequestMapping(value = "MainView", method = RequestMethod.GET)
public String showForm(Map model) {
CountryForm cform = new CountryForm();
model.put("countryForm", cform);
return "MainView";
}
}
但是,当我重定向到 JSP“MainView”时,我得到了典型的错误:
org.apache.jasper.JasperException: java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'countryForm' available as request attribute
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:502)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:424)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
我究竟做错了什么?