<s:set name="#isStocks" value="isStock({id.zjld})"></s:set>
<s:property value="#isStocks"/>
<s:if test='%{#isStocks == "0"}'>
true
</s:if>
<s:else>
false
</s:else>如以上代码所示:方法isStock() 只会返回0或者1的字符串在property里面打印测试没有问题但是在if里面怎么写都不行,得到的结果要么全是true要么全是false这个if是写错了么?

解决方案 »

  1.   

    你那个test 写的不对吧 语句有问题吧。 你可以这么测试 test =true  看是什么  就知道你的标签对不对了 。
      

  2.   

    是对的,语句不至于有问题吧?而且我是各种试啊
    <s:if test="%{#isStocks == \"0\"}">
    <s:if test='#isStocks == "0"'>
    <s:if test='%{#isStocks.equals("0")}'>
    ...基本上都试过了,实在不行咱只能上<%%>了
      

  3.   

    既然都是false true 什么的boolean值为什么 要用 0 啊  ,java 0不表示false的
      

  4.   

    if    else  你试过了吗  直接设置false或true  就可以试你的if  else  对不对
    然后语句的话  换成false 别用0  
      

  5.   

    可以在isStock() 里返回true或false,这样就不用和0或1比较了~~~