如何将下拉框中的值拆分并且不连接?在一个项目中,我在运行项目时使用数据库中的值填充了一个下拉框,这些值都连接在一起,而不是显示在下拉框中的列表中。我想要的是他们作为一个没有连接的列表出现。我认为附图可以更好地解释我的意思。
DAO代码:
@SuppressWarnings("unchecked")
@Override
public List<User> allCities() {
return sessionFactory.getCurrentSession().createSQLQuery("SELECT first_name FROM User").list();
}
控制器代码:
@RequestMapping("/register")
public ModelAndView getRegisterForm(@ModelAttribute("user") User user, BindingResult result) {
Map<String, Object> models = new HashMap<String, Object>();
models.put("user", userService.allCities());
return new ModelAndView("Register", "models", models);
}
jsp页面:
![<td><form:label path="city">City</form:label></td>
<td><form:select path="city" items="${models}"></form:select></td>][1]
答案 0 :(得分:0)
试试这个:
models.put("users", userService.allCities());
和JSP
<form:select path="city" items="${users}" itemValue="userId" itemLabel="userName"></form:select>
我假设User有2个getter:getUserId()和getUserName()
此链接可以帮助您
http://www.mkyong.com/spring-mvc/spring-mvc-dropdown-box-example/
答案 1 :(得分:0)
连接数组的原因是我在将它绑定到JSP文件之前没有对它执行任何迭代。只需要重写控制器的代码,然后根据对象命名的名称更改jsp文件中的占位符:
控制器代码:
@RequestMapping("/register")
public ModelAndView getRegisterForm(@ModelAttribute("user") User user, BindingResult result) {
Object collectList = null;
ArrayList<Object> arrayListing = new ArrayList<>();
arrayListing.add(userService.allCities());
for(Object objectList : arrayListing)
{
collectList = objectList;
}
return new ModelAndView("Register", "collectList", collectList);
}
JSP代码:
<td><form:label path="city">City</form:label></td>
<td><form:select path="city" items="${collectList}"></form:select></td>