日期:2014-05-17  浏览次数:20768 次

我 热 啊,实在是不能理解
这是循环一个存储在session里面的集合,
Java code


<s:iterator value="#session.teacher_subscibe_teacher" var="st" end="18" status="is">
                          <s:if test="#is.index%9==0&&#is.index!=0">
                            <li><a class="img-wrapper" href="classInfo/details/${st.teacherInfo.infoId }"><img src="${st.teacherInfo.infoSmallImg}" width="20" height="20"></a></li>
                          </s:if>
                          <s:else>
                             <li class="last"><a class="img-wrapper" href="classInfo/details/${st.teacherInfo.infoId }"><img src="${st.teacherInfo.infoSmallImg}" width="20" height="20"></a></li>
                          </s:else>
                        </s:iterator>
 



这是查询集合的hql语句:from RegistedUserSubscibeTeacher st inner join fetch st.teacherInfo stt where stt.infoId=1 (这里是把RegistedUserSubscibeTeacher实体的teacherInfo(这也是一个实体) 查出来了)
我打断点看过,查询出来的结果完全符合要求

在页面遍历这个集合是${st.teacherInfo.infoId} 这个能取到值 ${st.teacherInfo.infoSmallImg} 这个就取不到了

我也换了其他的属性,发现,只能取到teacherInfo 的 infoId 这么一个属性,其他的infoName,infoSex,infoAge ,infoSmallImg 等等就取不到了。

大神们,这到底是肿么了?




------解决方案--------------------
<s:debug/>
看看ValueStack和Map里的值是否正常
估计是你的get,set方法没写吧
------解决方案--------------------
在action类里看看,set(xxx)里的集合是否正常
------解决方案--------------------
别的数据看下 查询的时候有木有设入到集合对象中去
------解决方案--------------------
看下在实体类里有木有所有属性的 get,set方法吧,因为这样的情况应该是要不都取到,要不都没取到
------解决方案--------------------
${st.teacherInfo.infoSmallImg} 这个里面存的是什么类型的
------解决方案--------------------
你热就买个小风扇
两个20元
------解决方案--------------------
映射文件应该有问题,检查一下你的xml配置文件中RegistedUserSubscibeTeacher与teacherInfo的关联情况,看看是不是正常关联