首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

<s:if>取值怪异有关问题

2011-12-24 
s:if取值怪异问题。s:if testinstrumentReservation.timeA是1/s:ifs:elseif testinstrumen

<s:if>取值怪异问题。
<s:if test="instrumentReservation.timeA=='是'">
1
</s:if>
<s:elseif test="instrumentReservation.timeA=='否'">
2
</s:elseif>
<s:else>
3
s:else>

输出总是3
<s:if test="instrumentReservation.status=='待审核'">
1
</s:if>
<s:elseif test="instrumentReservation.timeA=='否'">
2
</s:elseif>
<s:else>
3
s:else>

这个能输出1. ${instrumentReservation.status }${instrumentReservation.timeA }都是可以取到值的。
timeA 和 status 都是 instrumentReservation 的属性啊,怎么一个能取出,一个就不能了呢?
这个timeA是后来加入instrumentReservation 这个类里面的属性。hibernate配置文件属性已经添加、属性get、set方法已经有了!

[解决办法]
你的这种情况我也遇到过,用el表达式可以取到,但是struts标签用el表达式取不到了,你试试用struts标签的取值方式,<s:if test="#域.对象.属性 eq 是">1</s:if>
[解决办法]
<s:if test="instrumentReservation.timeA=='是'">
1
</s:if>
<s:elseif test="instrumentReservation.timeA=='否'">
2
</s:elseif>
<s:else>
3
s:else>

在struts2中的字符串中,如果只有一个字符,则需要使用转义

\"否\"
否则会被认为是字符(而不是字符串)

热点排行