有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在SpringMVC中使用Hibernate从SQL数据库填充下拉菜单

我以前也做过类似的事情,但从未使用过这种特殊的配置。我查找的每个示例都显示了在控制器中设置选项的下拉列表,我不希望在控制器中逐行设置这些选项,而是从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) 个答案

  1. # 1 楼答案

    你必须先做:

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

        <form:select path="list">
            <form:options items="${lists}" />
        </form:select>
    
  2. # 2 楼答案

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

    另一个失败是,由于value=“”,下拉值将始终为空