Dropdownbox获取值连接

时间:2013-12-06 12:24:52

标签: hibernate jsp spring-mvc

如何将下拉框中的值拆分并且不连接?在一个项目中,我在运行项目时使用数据库中的值填充了一个下拉框,这些值都连接在一起,而不是显示在下拉框中的列表中。我想要的是他们作为一个没有连接的列表出现。我认为附图可以更好地解释我的意思。

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]

2 个答案:

答案 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>