在Spring MVC中使用Hibernate从SQL数据库填充DropDown菜单

时间:2015-01-22 02:57:45

标签: java spring hibernate jsp spring-mvc

我以前做过类似的事情,但从未使用过这种特殊的配置。我查看的每个示例都显示了控制器中设置选项的下拉列表,当我不希望它们在控制器中逐行设置,而是从SQL数据库中的列中提取时。

我有其他形式,目前来自同一个表和列,但下拉。我一无所获。这是JSP

这就是我在jsp中所拥有的,之前我使用了c:forEach,我怀疑我可能不得不把它放回来与jsp use bean一起使用...

<table>
    <tr>
        <td>Job:</td>
        <td>    
            <form:select path="Job.jobName">
                <form:option value="" label="Select Job"/>
                <form:options value="" items="${job.jobName}"/>
            </form:select>
        </td>
        <td><form:errors path="job.jobName" /> </td>
    </tr>
</table>

这是控制器中的方法调用,不仅仅是这个,而是我使用的...

List<Job> jobList = jobService.listjobsByPage(page);

这是对DAOImpl的查询

public List<Job> getDataByJobName(String jobName) {            
     Session session = sessionFactory.openSession();
     List<Job> result = null;
     try{
            session.beginTransaction();
            Query query = session.createQuery("from Job where upper(jobName) like ? " +
                         "order by jobName");
            query.setParameter(0, "%" + jobName + "%");
            result = query.list();
            session.getTransaction().commit();
            session.close();
     } catch(Exception e){
            e.printStackTrace();
     }
     return result;
}

如果有人能指出我正确的方向如何设置这将是一个很大的帮助。

提前致谢。

2 个答案:

答案 0 :(得分:1)

你必须先做:

    ModelAndView model = new ModelAndView("index");
    model.addObject("lists", list);

    <form:select path="list">
        <form:options items="${lists}" />
    </form:select>

答案 1 :(得分:0)

<form:options value="" items="${job.jobName}"/> 

另一个失败是下拉值始终没有,因为值=&#34;&#34;。