struts2中<s:if>标签

本文探讨了Struts2框架中条件判断标签的使用方法,包括如何根据不同用户类型显示不同的下拉菜单选项,以及如何根据数据库字段进行条件判断。
<s:set name="name" value="model.userId" />
              <s:if test="#name == 'luozhh'">
                      Luozhh's file here
              </s:if>
              <s:elseif test="#name == 'Scott'">
                      Scott's file here
              </s:elseif>
              <s:else>
                      Other's file here
              </s:else>


<s:if test='model.userId == "luozhh"'>
1欢迎<%=request.getSession().getAttribute("userId") %>光临 &nbsp;<br>
</s:if>
<s:else>
2欢迎${USER.userId }光临 &nbsp; <br>
</s:else>
3欢迎${USER.userId }光临 &nbsp;

------------------------------------------------------------------------------------------------------

来源:http://renavatior.javaeye.com/blog/193839

我再Action里面用
Java代码
  1. ActionContext.getSession().put("loginUserType", user.getType());  
ActionContext.getSession().put("loginUserType", user.getType());

字段type 是 user 对象的一个String 属性
而后我在jsp页面中用
Java代码
  1. <s:set name="userType" value="#session['loginUserType']" />  
<s:set name="userType" value="#session['loginUserType']" />

得到type的值,再根据type的值来输出相应的下拉菜单
Java代码
  1. <s:if test="#userType=='2'">   
  2.                      <s:select name="result" label="审核意见"  
  3.                          list="{'Info审核同意','info审核不同意','重新填写信息'}"></s:select>   
  4.                  </s:if>   
  5.                  <s:elseif test="#userType=='3'">   
  6.                      <s:select name="result" label="审核意见" list="{'最后审核同意','最后审核不同意'}"></s:select>   
  7.                  </s:elseif>   
  8.                  <s:else>   
  9.   
  10.                  </s:else 
<s:if test="#userType=='2'">
 <s:select name="result" label="审核意见" list="{'Info审核同意','info审核不同意','重新填写信息'}"></s:select>
 </s:if>
 <s:elseif test="#userType=='3'">
  <s:select name="result" label="审核意见" list="{'最后审核同意','最后审核不同意'}"></s:select>
 </s:elseif>
 <s:else>

 </s:else>

但是我的那个下拉菜单没有输出,
我用
Java代码
  1. <s:property value="#userType" />  
<s:property value="#userType" />


输出一看已经有值了是 2
为什么不行啊?

<s:if test="${userType==2}">

</s:if>
<s:else>

</s:else>
-------------------------------------------------------------------------------------------

http://topic.csdn.net/u/20080328/11/43b8f534-d0cb-47c8-bb4d-383f7ebf972f.html

前提:数据库中的类型是varchar,pojo中对应的字段的类型也是string。
如果数据库中的数据是整数字符串,例如1、2、3等,那么使用==
<s:if test="deptType==1" >下属 </s:if> <s:else>直属 </s:else>
如果数据库中的数据是字符串,aa、bb、cc等等
那么就要使用 <s:if test="deptType=='aa'>下属aa </s:if> <s:else>直属 </s:else>

<s:if test="deptType==1" >下属 </s:if>如果你的数据库对应的字段类型为整形,可以这样使用;

<s:if test="deptType=='1'" >下属 </s:if>如果你的数据库对应的字段类型为char,可以这样使用;

<s:if test="deptType=='aa'" >下属 </s:if>如果你的数据库对应的字段类型为varchar,并且数据库中的字符串都是多余一个字符的字符串,可以这样使用;

<s:if test="deptType==\"1\"" >下属 </s:if> <s:else>直属 </s:else>(测试通过,这样用是最正确的)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值