论坛首页 Java企业应用论坛

struts2 <s:if> 标签的疑问

浏览 9452 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-05-17  
我再Action里面用
ActionContext.getSession().put("loginUserType", user.getType());

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

得到type的值,再根据type的值来输出相应的下拉菜单
<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>

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

输出一看已经有值了是  2
为什么不行啊?
   发表时间:2008-05-17  
........
您犯低级错误了。。。
<s:if test="#userType==2">

把 2 的 引号去掉

详情参考
http://www.ognl.org/2.6.9/Documentation/html/LanguageGuide/apa.html#N10644
0 请登录后投票
   发表时间:2008-05-19  
谢谢 风雪涟漪 ,因为第一次在用这个东西,现在解决了,非常感谢
0 请登录后投票
   发表时间:2008-05-19  
顶楼主的求知精神。
我还以为用s:set得到的值不能用于s:if呢?搞得只好曲线救国。
0 请登录后投票
   发表时间:2008-05-19  
为什么不直接在if test 里 直接用 取 session 的值。?
必须用SET?
0 请登录后投票
   发表时间:2008-05-19  
#
#                     <s:select name="result" label="审核意见" 
#                         list="{'Info审核同意','info审核不同意','重新填写信息'}"></s:select> 
在你的select里并没有value..会提交成功吗?提交上去又会是什么东西?这里是不是也需要修改一下.
0 请登录后投票
   发表时间:2008-05-20  
推荐list里 放入Map类型。这样可以写为:
<s:select   name="anyName" list="anyMap"listKey="key" listValue="value"/>
这样就能生成option的value和key了。。。
0 请登录后投票
   发表时间:2008-05-21  
<s:if test='#userType=="2"'>应该是要这样写的,之前也有遇到过,如果字符串是数字的话就是比较奇怪  
0 请登录后投票
   发表时间:2008-05-22  
<s:if test="${userType==2}">  

</s:if>
<s:else>

</s:else>
这样写就好了麽。楼主写的太麻烦了
0 请登录后投票
   发表时间:2008-06-26  
虽然解决了,但也说一下吧.
搂住既然知道参数是字符串,那么比较字符串 当然是使用equals方法来比较.
#userType.equals('2');
搂住却使用了 == ,这是显然的问题.
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics