Spring-从模型中的列表中获取字段
我正在使用Spring+Hibernate创建项目,我有一个小问题: 我有实体Spring-从模型中的列表中获取字段,spring,forms,hibernate,jsp,model-view-controller,Spring,Forms,Hibernate,Jsp,Model View Controller,我正在使用Spring+Hibernate创建项目,我有一个小问题: 我有实体Hop,实体国家。当我添加新的跳转表单时,有一个表单:select-此列表的选项来自DB-这是表单: <tr> <td><label>Origin:</label></td> <td> <form:select path="hopOrigin"> <form:option value="" label=
Hop
,实体国家
。当我添加新的跳转表单时,有一个表单:select
-此列表的选项来自DB-这是表单:
<tr>
<td><label>Origin:</label></td>
<td>
<form:select path="hopOrigin">
<form:option value="" label="...." />
<form:options items="${countryList}"/>
</form:select>
</td>
</tr>
最后,国家/地区服务是@Autowired
到CountryDaoImpl
,有一种方法:
@Override
public List<Country> getCoutriesNames() {
Session currentSession = sessionFactory.getCurrentSession();
Query<Country> theQuery = currentSession.createQuery("SELECT countryName FROM Country");
List<Country> countriesNames = theQuery.getResultList();
return countriesNames;
}
@覆盖
公共列表getCoutriesNames(){
会话currentSession=sessionFactory.getCurrentSession();
Query theQuery=currentSession.createQuery(“从国家中选择国家名称”);
List countriesNames=theQuery.getResultList();
返回国系统;
}
所以在and中,在这个下拉列表中,我只得到了countryName
,而不是整个Country
对象。这种方法需要在HopControler
、CountryService
、CountryServiceImp
、CountryDao
和CountryDaoImp
中创建方法,以获得一个字段
我的问题:有没有更简单的方法(可能在JSP页面中)来获取这个下拉列表的
countryName
?是的,我感觉到了你的痛苦,但不幸的是,这是推荐的实现方法
当然,您总是可以在Dao中创建一个新方法来返回列表
,但是为什么要麻烦呢。将来,您可能需要在您的选择中使用其他财产,例如国家id或土地代码(美国、es、fr等)
当然,您可以始终缩短方法,例如:
@Override
public List<Country> getCoutriesNames() {
return sessionFactory.getCurrentSession().createQuery("SELECT countryName FROM Country").getResultList();
}
@覆盖
公共列表getCoutriesNames(){
返回sessionFactory.getCurrentSession().createQuery(“从国家中选择国家名称”).getResultList();
}
感谢您的澄清
@Override
public List<Country> getCoutriesNames() {
return sessionFactory.getCurrentSession().createQuery("SELECT countryName FROM Country").getResultList();
}