这是循环一个存储在session里面的集合,
<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 等等就取不到了。大神们,这到底是肿么了?

解决方案 »

  1.   

    <s:debug/>
    看看ValueStack和Map里的值是否正常
    估计是你的get,set方法没写吧
      

  2.   

    在action类里看看,set(xxx)里的集合是否正常
      

  3.   

    看下在实体类里有木有所有属性的 get,set方法吧,因为这样的情况应该是要不都取到,要不都没取到
      

  4.   

    ${st.teacherInfo.infoSmallImg}  这个里面存的是什么类型的
      

  5.   

    映射文件应该有问题,检查一下你的xml配置文件中RegistedUserSubscibeTeacher与teacherInfo的关联情况,看看是不是正常关联