Struts2 标签 if

基本的流程控制.'If'标签可单独使用也可以和'Else If'标签和(或)一个多个'Else'一起使用.

名称必填缺省值类型描述
testtrue Boolean决定If标签内容是否显示的表达式
idfalse Object/String所指元素的Id. 对于UI和form标签此Id就作为所对应的html标签的id属性


Example:

<s:if test="%{false}">
    <div>Will Not Be Executed</div>
</s:if>
<s:elseif test="%{true}">
    <div>Will Be Executed</div>
</s:elseif>
<s:else>
    <div>Will Not Be Executed</div>
</s:else>

 

Notice:

 test条件中如果是比较字符串的话:

我通过网上搜索都给出这样的表达式:

例如:

<s:set name="isok" value="#isok"/>
<s:property value="#isok"/>   此处已经打印出结果是 Y
<s:if test="#isok=='Y'">
yes
</s:if>
<s:else>
no
</s:else>
或者: 
<s:iftest='%{isok=="Y"}'> 
yes
</s:if>
<s:else>
no
</s:else>

 

但是我在自己代码中测试两种代码都不能正确判断,每次结果输出还是no
经过不断调试,发现把判断语句改成

<s:iftest='%{customervo.country==Y}'> ,去点Y上的双引号,居然成功!

哎,就这样吧,下次大不了多试几次。

 
  2010-10-18 新情况
 通过action 传出参数 favor=1时候 能正确打印出yes

<s:if test="%{favor==1}">
yes
</s:if>
<s:else>
no
</s:else>

 

但是相同条件下传出参数 favor=T 时,却打印出来的是 no ,给T加上单引号还是输出 no,这个难道是struts2 tag的bug,值得查查资料。

<s:if test="%{favor==T}">
yes
</s:if>
<s:else>
no
</s:else>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值