当前位置:编程学习 > JAVA >>

struts标签set和if的问题

代码如下:
 <s:set name="a" value="%{#parameters.a}" />  
 <li><s:property value="#a"/></li>
 <s:if test='%{#a=="0"}'>
 <li>Hello</li>
 </s:if> 

    第一个li标签可以输出a的值为0,为什么在s:if中一直判断不了相等,无法输出Hello li标签。查了网上的说法是#parameters得到的属性值都是String类型,我传过来的a也是String类型的,无法判断相等是怎么回事?有没有哪位大神知道的? struts tag set if --------------------编程问答-------------------- 改为<s:if test='${a eq "0"}'>
字符串能==比较吗? --------------------编程问答--------------------
引用 1 楼 fangmingshijie 的回复:
改为<s:if test='${a eq "0"}'>
字符串能==比较吗?

这样写的话还是会出现问题:
According to TLD or attribute directive in tag file, attribute test does not accept any expressions。好像是test里面的表达式无法被接受。 --------------------编程问答-------------------- 不好意思,el表达式比较不需要引号,改为<s:if test='${a eq 0}'> --------------------编程问答-------------------- 还是不行的。一样的问题。 --------------------编程问答-------------------- struts2标签中是不能使用el表达式的
 <s:set name="a" value="#parameters.a" />  
 <li><s:property value="#a"/></li>
 <s:if test='#a=="0"'>
 <li>Hello</li>
 </s:if> 
不要用%计算表达式试试 --------------------编程问答-------------------- %{#parameters.a} 得到的值有没有空格 你去看看 如果有空格的话肯定不能等于0了 --------------------编程问答--------------------
引用 5 楼 suciver 的回复:
struts2标签中是不能使用el表达式的
 <s:set name="a" value="#parameters.a" />  
 <li><s:property value="#a"/></li>
 <s:if test='#a=="0"'>
 <li>Hello</li>
 </s:if> 
不要用%计算表达式试试

不报那个错了,但是依然打印不出那个Hello <li>标签 --------------------编程问答--------------------
引用 6 楼 qiang0322 的回复:
%{#parameters.a} 得到的值有没有空格 你去看看 如果有空格的话肯定不能等于0了

有没有空格怎么查看?在<s:debug>中也只是显示数据,看不出有没有空格的吧。 --------------------编程问答-------------------- <s:set name="a" value="#parameters.a" />  
 <li><s:property value="#a"/></li>
 <s:if test='#a.trim()=="0"'>或者 <s:if test='#a.trim().equlas("0")'>
 <li>Hello</li>
 </s:if> 
--------------------编程问答--------------------
引用 9 楼 suciver 的回复:
<s:set name="a" value="#parameters.a" />  
 <li><s:property value="#a"/></li>
 <s:if test='#a.trim()=="0"'>或者 <s:if test='#a.trim().equlas("0")'>
 <li>Hello</li>
 </s:if>

用楼上的方法吧
或者你可以在#parameters.a之前在后台trim一下
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,