页面显示结果如下
第一个集合显示结果
职位名称:  送货员  
招聘人数:  1  
学历要求:  小学  
工资(元/月):  3000 ~ 3500 元  
食宿情况:  包食、住宿提供  
单位名称:  某有限公司  
其他职位要求:  送货员  第二个集合显示结果
职位名称:  数控车床操作员  
招聘人数:  1  
学历要求:   
工资(元/月):  2500 ~ 3000 元  
食宿情况:   
单位名称:  某有限公司  
其他职位要求:  d  
备注:第二个集合里面的【学历要求和食宿情况】是有数据的但显示不出来,struts2解析集合的标签如下
<table class="table_border" cellpadding="1" cellspacing="0">  
<s:iterator id="job" value="meetjobList" status="st">  
<s:set value="#job.etmeetingjobid" name="id" /> 
<tr>
<td width="20%">
职位名称:
</td>
<td align="left"> 
<s:property value="#job.position" />  
</td>
 </tr>
 <tr>
<td>
招聘人数:
</td>
<td align="left"> 
<s:property value="#job.recruitingnumbers" />
</td>
 </tr>
 <tr>
<td>
学历要求:
</td>
<td align="left"> 
<s:property value="#request.degreeMap[#id].dictionaryname" />
</td>
 </tr>
 <tr>
<td>
工资(元/月):
</td>
<td align="left"> 
<s:property value="#job.salaryfrom" />
~
<s:property value="#job.salaryto" />

</td>
 </tr>
 <tr>
<td>
食宿情况:
</td>
<td align="left"> 
<s:property
value="#request.ssMap[#job.etmeetingjobid].dictionaryname" />
</td>
 </tr> 
 <tr>
<td>
单位名称:
</td>
<td align="left"> 
<s:property value="etbasicinfo.etname" />
</td>
 </tr>
 <tr>
<td>
其他职位要求:
</td>
<td align="left"> 
<s:property value="#job.other" /> 
</td>
 </tr> 
 
  <tr>
<td colspan="2" height="200">
 
</td>
 </tr> 
</s:iterator> 
</table>

解决方案 »

  1.   

    degreeMap[#id]  id应该没遍历吧
      

  2.   

    可以断点看下action中有没有值
      

  3.   


    有两种方式取值的,
    这种我是在前面赋值了
      <s:property value="#request.degreeMap[#id].dictionaryname" />
    <s:set value="#job.etmeetingjobid" name="id" /> 
    这种直接通过集合里面取值
    value="#request.ssMap[#job.etmeetingjobid].dictionaryname" />
      

  4.   

    java代码中,第二个集合中的值的key应该不对,仔细比对一下。
      

  5.   

    如果有用到hibernate的话,那应该是延迟加载的问题