用freemarker输出Hibernate里list的值,有几种方式
1.
dao
String query = "from User as u";
List list = (List) getHibernateTemplate().find(query);
action
theList=new ArrayList();
theList=userService.getTheList();
for(int i=0;i<theList.size();i++){
User user=(User)theList.get(i);
System.out.println(user.getName());
}
html
<#list theList as x>
<tr>
<td>${x.name?if_exists}</td>
</tr>
</#list>
2.同理
String query = "select u.name from User as u";
List list = (List) getHibernateTemplate().find(query);
for(int i=0;i<theList.size();i++){
String a=(String)theList.get(i);
System.out.println(a);
}
<#list theList as x>
<tr>
<td>${x?if_exists}</td>
</tr>
</#list>
3.
String query = "select u.name,u.password from User as u";
List list = (List) getHibernateTemplate().find(query);
//存放在Object[]数组中
for(int i=0;i<theList.size();i++){
Object[] obj=(Object[])theList.get(i);
System.out.println((String)obj[0]+" "+(String)obj[1]);
}
<#list theList as x>
<tr>
<td>${x[0]?if_exists}</td>
<td>${x[1]?if_exists}</td>
</tr>
</#list>
4.
String query = "select new list(u.name,u.password) from User as u";
List list = (List) getHibernateTemplate().find(query);
for(int i=0;i<theList.size();i++){
System.out.println(theList.get(i)+" ");
}
<#list theList as x>
<tr>
<td>${x[0]?if_exists}</td>
<td>${x[1]?if_exists}</td>
</tr>
</#list>