Class User(){
private int id;
private String name;
Set<Role> roles = HashSet<Role>(); //Role也为一个实体
private Job job; //Job为一个实体
....省略 get set()
}
Class Role(){
private int id;
priavte String name;
....省略 get set()
}
Class Job(){
private int id;
private String name;
....省略 get set()
}
在Action 中将 List<User> userList对象 利用 ActionContext.getContext().put("userList",userList);放到值栈中。
请问在Jsp页面中,利用<s:iterator>标签该怎么把userList 中的内容给遍历出来。
以下是我出错的例子:
<s:iterator value="#userList" ">
<tr >
<td>${id } </td> //user的ID
<td>${name } </td> //user的名称
<td>${job.name} </td> //job的名称 ,//该处job.name对不出来,报错
<td>
<s:iterator value="roles"> //在这块<s:iterator>中报错
${name } //roles的名称 //
</s:iterator> //
</td>
</s:iterator>
2 个解决方案
#1
问题解决了,上面的写法是对的,原来获取不了的原因是,hibernate 的延迟加载机制导致在页面获取其他关联对象时发现session已经关闭,无法获取,结果报could not initialize proxy - no Session错误。
怪自己没把错误提示看清楚,只看到了对jsp代码报错问题,没有注意到下面的could not initialize proxy - no Session错误。
关于hibernate 错误解决参见了http://blog.sina.com.cn/s/blog_85987afc0100ukl0.html 和http://blog.sina.com.cn/s/blog_85987afc0100ukl0.html
怪自己没把错误提示看清楚,只看到了对jsp代码报错问题,没有注意到下面的could not initialize proxy - no Session错误。
关于hibernate 错误解决参见了http://blog.sina.com.cn/s/blog_85987afc0100ukl0.html 和http://blog.sina.com.cn/s/blog_85987afc0100ukl0.html
#2
自己解决最好,错误提示很重要,我也学习一下。
#1
问题解决了,上面的写法是对的,原来获取不了的原因是,hibernate 的延迟加载机制导致在页面获取其他关联对象时发现session已经关闭,无法获取,结果报could not initialize proxy - no Session错误。
怪自己没把错误提示看清楚,只看到了对jsp代码报错问题,没有注意到下面的could not initialize proxy - no Session错误。
关于hibernate 错误解决参见了http://blog.sina.com.cn/s/blog_85987afc0100ukl0.html 和http://blog.sina.com.cn/s/blog_85987afc0100ukl0.html
怪自己没把错误提示看清楚,只看到了对jsp代码报错问题,没有注意到下面的could not initialize proxy - no Session错误。
关于hibernate 错误解决参见了http://blog.sina.com.cn/s/blog_85987afc0100ukl0.html 和http://blog.sina.com.cn/s/blog_85987afc0100ukl0.html
#2
自己解决最好,错误提示很重要,我也学习一下。