我以前做过类似的事情,但从未使用过这个特定的配置。我查找的每个示例都显示下拉列表在 Controller 中设置了选项,而我不希望它们在 Controller 中逐行设置,而是从 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>
这是 Controller 中的方法调用,还有更多,但这是我正在使用的..
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;
}
如果有人能够为我指明如何设置的正确方向,那将是一个很大的帮助。
提前致谢。
最佳答案
你必须先做:
ModelAndView model = new ModelAndView("index");
model.addObject("lists", list);
比
<form:select path="list">
<form:options items="${lists}" />
</form:select>
关于java - 在 Spring MVC 中使用 Hibernate 从 SQL 数据库填充下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28080570/