我以前做过类似的事情,但从未使用过这种特殊的配置。我查看的每个示例都显示了控制器中设置选项的下拉列表,当我不希望它们在控制器中逐行设置,而是从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;
}
如果有人能指出我正确的方向如何设置这将是一个很大的帮助。
提前致谢。
答案 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;。