在使用 <s:iterator value="#request.students"></s:iterator> 无法显示数据,而 ${request.students[0].id} 却可以显示时问题

在本人第一次做项目的时候,因为这个问题纠结了很久,使用 如下代码.
<s:iterator value="#request.students">
    ${name}
</s:iterator>
一直无法显示数据,而使用 如下代码却可以显示出来.
${request.students[0].id} 
    作为新手,一直不知道怎么回事,经过长时间检查和实验.终于发现原来<s:iterator></s:iterator> 标签好像会自动调用存在的 javaBean 的 toString() 方法.意思就是如果你的 javaBean 是从 Hibernate 方法从数据库中找出来的. javaBean 中有一些其他的类.但是没有被加载出来. 所以出现的懒加载异常.但是页面和控制台都不会报错. 使用 **${request.students[0].id}** 是直接调用 get 方法.如果该属性被加载就不会报错.
    所以简单的来说,就是使用 <s:iterator></s:iterator> 标签时,要保证类中的属性都被加载,要不然就为空,不能让他处在未加载完全的样子. 简单的方法就是在获取javaBean 的时候手动调用 toString().一定要在一个事物里噢. 要不然还会报错.
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值