我正在尝试使用jdbctemplate创建简单的spring mvc应用程序,但是当我尝试打开注册页面时,我得到了这个错误 - java.lang.IllegalArgumentException:属性'items'必须是数组,Collection或Map。
上次我在另一个应用程序中使用了这个东西,它工作正常,但这次它不起作用:(
这是我的控制器代码和register.jsp
@RequestMapping("/register")
public ModelAndView registerEmployee(@ModelAttribute Employee employee) {
List<String> cityList = new ArrayList<String>();
cityList.add("kashipur");
cityList.add("moradabad");
cityList.add("delhi");
cityList.add("noida");
List<String> genderList = new ArrayList<String>();
genderList.add("male");
genderList.add("female");
Map<String,List<String>> map = new HashMap<String,List<String>>();
map.put("cityList",cityList);
map.put("genderList",genderList);
return new ModelAndView("register","map",map);
}
register.jsp是
<div>
<form:form method="post" action="/insert" modelAttribute="employee">
<table>
<tr>
<td>Name :</td>
<td><form:input path="name" /></td>
</tr>
<tr>
<td>Gender :</td>
<td><form:radiobuttons path="gender" items="${map.genderList}" /></td>
</tr>
<tr>
<td>City :</td>
<td><form:select path="city" items="${map.cityList}" /></td>
<tr>
<tr>
<td>Email :</td>
<td><form:input path="email" /></td>
</tr>
<tr>
<td>Phone :</td>
<td><form:input path="phone" /></td>
</tr>
<tr>
<td><input type="submit" value="Save" /></td>
</tr>
<tr>
<td colspan="2"><a href="getList">Click Here to See User
List</a></td>
</tr>
</table>
</form:form>
</div>
答案 0 :(得分:1)
尝试更改此List<String> cityList
这个ArrayList<String> cityList
同样在这里
Map<String,List<String>> map = new HashMap<String,List<String>>();
还尝试访问此map['cityList']
答案 1 :(得分:0)
您不需要符合${map.
简单写一下
return new ModelAndView("register", map);
并在JSP中:
<td><form:radiobuttons path="gender" items="${genderList}" /></td>
和
<td><form:select path="city" items="${cityList}" /></td>