Struts2.0.11.1 s:if test 标签问题

马行空牛耕田 2008-03-28 11:51:52
环境:
Tomcat6
JDK6
Struts2.0.11.1

代码:
L1: <s:set name="portOper" value="#parameters.portOper"/>
L2: <s:property value="#portOper" />a
L3: <s:if test="#portOper == '1'">
L4: Enter name of port to activate (* = all):
L5: <s:property value="#portOper" />b
L6: </s:if>

问题:
第一行用set压入一个值,第二行获取此值显示,可以显示为“1a”,表示“portOper”的值为“1”。
但是第三行的test,试过多种写法,test却总为false,不进入第四行

如果将第三行改为“<s:if test="#portOper != null">”,则可以进入第四行,且第五行显示为“1b”,表示也拿到了portOper的值,为“1”

请帮忙看下,Struts2.0.11的tag不再允许嵌套使用EL表达式,全面使用OGNL。 不知道是否有什么关系?
...全文
24427 47 打赏 收藏 转发到动态 举报
写回复
用AI写文章
47 条回复
切换为时间正序
请发表友善的回复…
发表回复
rusk369 2012-04-21
  • 打赏
  • 举报
回复
对我很有帮助
elfxiaofeng 2012-04-03
  • 打赏
  • 举报
回复
很有帮助。
java_MagicWang 2012-02-02
  • 打赏
  • 举报
回复
多我很有帮助,学习了
crgoodjob 2012-01-30
  • 打赏
  • 举报
回复
学习了······
kkkkgggg1987 2011-12-28
  • 打赏
  • 举报
回复
1111111111
meinvshuaige 2011-05-13
  • 打赏
  • 举报
回复
我也是遇到想通的问题,action里面是Integer 但是<s:if test="searchType==1" />总为false
SwordShadow 2010-10-09
  • 打赏
  • 举报
回复
反复测试,如果从url获得的querystring参数,只有<s:if test="="#parameters.portOper[0] == 1"> 可以通过,其他的只要没带[0]都不行

不明白为什么....

ly_zgz 2010-08-12
  • 打赏
  • 举报
回复
23楼的写法对。
liqiang_cna 2010-06-12
  • 打赏
  • 举报
回复
这个正好用到了,学习了
nj_link 2010-06-04
  • 打赏
  • 举报
回复
ddd
解未知数 2010-06-03
  • 打赏
  • 举报
回复
学习下
wenjjing2lianee 2010-04-02
  • 打赏
  • 举报
回复
恩,确实不错的,好贴
sunshine912123 2010-02-10
  • 打赏
  • 举报
回复
11楼的是正确的,通过了
zhaiwujun 2010-01-18
  • 打赏
  • 举报
回复
23楼的测试完全通过.
wsxing008 2009-12-09
  • 打赏
  • 举报
回复
<s:if test="#rquest.right.rt_addOrder==1">checked</s:if>
为啥不执行啊,我数据库中的字段也是整型的
baobaolisan 2009-11-28
  • 打赏
  • 举报
回复
正需要这方面资料,感谢楼主和各位高手啦
sunshineparasol1 2009-11-26
  • 打赏
  • 举报
回复
要是在ec:table 里面呢 ,呵呵 那就更好玩了 <s:if test="${abc}==0">是正常的在ec:table里面
Jasun_Li 2009-11-24
  • 打赏
  • 举报
回复
<s:if test="deptType==1" >下属 </s:if>如果你的数据库对应的字段类型为整形,可以这样使用;

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

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

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

這些都是測試通過的﹗
ydw5791 2009-06-09
  • 打赏
  • 举报
回复
正确方法是 <s:if test='dataType=="D"'>
victorguan 2009-05-06
  • 打赏
  • 举报
回复
26楼的方法是正确的, 27楼的s:property是没问题的,但用于if test 就不行了。
看看:
http://struts.apache.org/2.x/docs/why-doesnt-the-if-tag-evaluate-test
加载更多回复(27)

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧