Hibernate Dropdownbox获取连接的值

Hibernate Dropdownbox获取连接的值,hibernate,jsp,spring-mvc,Hibernate,Jsp,Spring Mvc,如何将dropdownbox中的值拆分而不是串联?在一个项目中,我在运行项目时用数据库中的值填充了一个下拉框,这些值都是串联的,不会在下拉框中显示为列表。我希望它们显示为一个列表,而不是串联在一起。我想附上的图片会更好地解释我的意思 DAO代码: @SuppressWarnings("unchecked") @Override public List<User> allCities() { return sessionFactory.getCurre

如何将dropdownbox中的值拆分而不是串联?在一个项目中,我在运行项目时用数据库中的值填充了一个下拉框,这些值都是串联的,不会在下拉框中显示为列表。我希望它们显示为一个列表,而不是串联在一起。我想附上的图片会更好地解释我的意思

DAO代码:

@SuppressWarnings("unchecked")
    @Override
    public List<User> allCities() {
        return sessionFactory.getCurrentSession().createSQLQuery("SELECT first_name FROM User").list(); 
    }
@SuppressWarnings(“未选中”)
@凌驾
公共列表所有城市(){
返回sessionFactory.getCurrentSession().createSQLQuery(“从用户中选择第一个名称”).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);
}
@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);    
    }
@RequestMapping(“/register”)
公共ModelAndView GetRegisterPerform(@ModelAttribute(“用户”)用户,BindingResult){
映射模型=新的HashMap();
models.put(“user”,userService.allCities());
返回新模型和视图(“注册”、“模型”、“模型”);
}
jsp页面:

![<td><form:label path="city">City</form:label></td>
<td><form:select path="city" items="${models}"></form:select></td>][1]
![城市
][1]
试试这个:

models.put("users", userService.allCities());
和JSP

<form:select path="city" items="${users}" itemValue="userId" itemLabel="userName"></form:select>

连接数组的原因是,在将其绑定到JSP文件之前,我没有对其执行任何迭代。只需重写控制器的代码,然后根据对象的名称更改jsp文件中的占位符:

控制器代码:

@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);
}
@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);    
    }
@RequestMapping(“/register”)
公共ModelAndView GetRegisterPerform(@ModelAttribute(“用户”)用户,BindingResult){
对象列表=空;
ArrayList ArrayList=新建ArrayList();
add(userService.allCities());
用于(对象对象列表:ArrayList)
{
collectList=对象列表;
}   
返回新模型和视图(“注册”、“收集列表”、“收集列表”);
}
JSP代码:

<td><form:label path="city">City</form:label></td>
<td><form:select path="city" items="${collectList}"></form:select></td>
城市

谢谢,洛克。正如您所知,这将返回一个模型类型,因此用户不会成为选项。我只是添加了itemValue、itemLabel。你可以重新测试谢谢,洛克。我很感激。