论坛首页 Java版 Struts

struts2 <s:if> 标签的疑问

浏览 850 次
精华帖 (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版 Struts

跳转论坛:
JavaEye推荐