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

struts2 OGNL 表达式 这是什么情况
<td><s:property value="#{'高':'15天内到店','中':'30天内到店','低':'暂不确定'}[#carelog.customerwill]" />&nbsp;</td>
    <!-- <td>&nbsp;<s:date name="#carelog.insurend" format="MM-dd" />&nbsp;</td> -->
    <td class="editCare_${i.index}" >&nbsp;${carelog.careresult}
    <s:property value="#{'接通':'显示接通','未接通':'不接通','低':'暂不确定'}[#carelog.careresult]" />&nbsp;</td>


红色的是运行结果



1、为什么 第一个 td  中 第一个 表达式值可以获取到。而第二个就获取不到呢?
2、第二个 td 中 ,采用第二上方 相同的显示,只是改变了显示的值就能显示了呢
3、也没有空格影响  的问题。(见两侧的  | | 竖杠)

------解决方案--------------------
楼主你这样的贴不沉才怪,你提问的问题都没描述清楚。html代码给出的部分是对应哪行的td,还有你所说的第一个td第二个td到底是指哪行。html代码的那一部分是指你说的第一个td哪行又是第二个td了。这些都没描述清楚。提问题的时候请把描述写清楚,以及关联到的代码都贴出来

------解决方案--------------------
你可以前面写一个<s:set value="{'接通':'显示接通','未接通':'不接通','低':'暂不确定'}" var="map">
然后后面<s:property value="%{map.[#carelog.careresult]}" />就可以了