我用的是struts2.1 + spring 3.0 + hibernate 3.3
我有2个表.
表users有 4个字段: uid, uname, upass, groupid.
表groups有2个字段: id, groupname.
其中表users字段groupid---与表group的id字段外键关联。
String queryString = "from Users";
return getHibernateTemplate().find(queryString); 查询结果是List
JSP如下:
<table border="1">
<tr><td>编号</td><td>用户名</td><td>密码</td><td>组名</td></tr>
<s:iterator value="userList">
<tr>
<td>${uid}</td>
<td>${uname }</td>
<td>${upass }</td>
<td>${groups.groupname }</td>
</tr>
</s:iterator>
</table>
上面的userList就是上面查询得到的List,
经调试uid, uname, upass的结果都是对的,
但加上groups.groupname会出http 500错, 请问这个地方怎么写?
(我写的UsersDAO中有一个属性为group, 大小写没错, 而且对应Groups )
return getHibernateTemplate().find(queryString);
好像和groups表没什么关系吧,只是在对users表进行操作。查询结果的list里也不会有groupname这个字段的值,JSP页面的List中也就无法显示了你的页面改用C标签,代码如下
<c:forEach items="${userList}" var="user">
<tr>
<td>${user.uid}</td>
<td>${user.uname }</td>
<td>${user.upass }</td>
<td>${user.groups.groupname }</td>
</tr>
</c:forEach>
当然头部要导入c标签
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>其实实现蛮简单的 我有增删改查分页的代码。。。
http://download.csdn.net/detail/cheney20121/4960289
包括一些登录 和注册的源代码。。。你User实体里面有groups属性吗。hibernate的关联映射都配置好了吗是否延迟加载改为false
+1
异常信息贴出来问题就处在这里
但加上groups.groupname会出http 500错, 请问这个地方怎么写?
(我写的UsersDAO中有一个属性为group, 大小写没错, 而且对应Groups )
Hibernate配置文件要配置一对多的关系,主表实体bean中创建Groups 对象