日期:2014-05-18  浏览次数:20722 次

在线等!!! struts2 s:if标签比较字符串相等
本帖最后由 fqf470306577 于 2013-04-01 21:23:37 编辑


<%String str="大一";%>
<s:if test="#daji == #str">
<s:property value="daji"/>
</s:if>


从后台获取了一个list,其中有一个属性是daji;jsp页面有一个str字符串,当daji和str相同时,输出daji
但是判断语句要怎么写才能判断成功?
s:if 比较字符串 相等

------解决方案--------------------
<s:if test="#str == daji ">试试
------解决方案--------------------
<s:if test="#daji.equals('daji') ">试试
------解决方案--------------------
daji 放在什么作用域里面 ,,取的时候要加内置作用域对象才行,,
比如放在request。。要用 #request.daji 
------解决方案--------------------
你上面的代码运行觉得有问题。。temp3 未定义。
既然你说输出<s:property value="daji"/>有值,,但是又不相等
那你看下这两个比较的变量 前后是否空格,集合里面是否真的有 “大一”字符串 不就行了。。
------解决方案--------------------
这能用==来判断么
------解决方案--------------------
引用:
引用:这能用==来判断么

这个应该是可以的吧!

== 和 equals  都可以比较字符串。。

我看到猫腻了
<%String str="大一";%>
<s:if test="#daji == #str">
<s:property value="daji"/> --------这里 的daji前面没有加上# 所以娶不到值,所以你就看不到了,对吧。。
</s:if>
其实一般不建议大篇幅的struts标签的 ,,一般能用el的就用 el,,简单明了 效率
------解决方案--------------------

<%String str="大一";%>
<s:if test="#daji == #str">
<s:property value="#daji"/>
</s:if>

楼主这样试试
------解决方案--------------------
自己写个标签比什么都管用,struts的标签只不过一堆冗余代码,一无注释,二无文档,想用它的还得一个个的去试,真是浪费时间,有这点功夫,自己十个标签都写好了
------解决方案--------------------
飘过了 飘过了 楼主的写法应该可行 struts2的标签个用的确实很少