用Struts2的,从后台获取stringList和moduleId,在页面需要拿遍历stringList里的字符跟moduleId比较,如果相等,则显示A,否则,显示B,试过好几次了,一直不成功。查了网上一些朋友的做法,他们比较的两个字符,其中有一个不是从后台获取的,跟我的需求不符合,也就没去试他们的做法是否可行了。我现在的做法就是:先在后台比较,然后做个标识,把某个字符标识为null, 通过 <s:if test="viewLink!=null"> (viewLink是stringList里面的对象),再在前台比较,免强地解决了问题。有没有不那么龌龊的做法啊???Thank you all the same. ^_^

解决方案 »

  1.   

    EL表达式也可以的${viewLink eq null}...
      

  2.   

    不是后台处理,就是页面处理,总有个地方得if一下在页面遍历stringList里的字符跟moduleId比较  lz是怎么比较的   不行???
      

  3.   

    不需要后台比较的,直接使用<s:if test=""></s:if>,其中要注意的是如果test中计较的是一个字符型的,那么必须加上单引号,如test="stringList == '字符串'"
      

  4.   

    呵呵 谢谢各位,看来大家的想法跟我的都差不多,我还是按照我的做法吧。这可能是struts2标签的一个缺陷吧,其实struts2标签应该有不少缺陷的,这几天我们一个页面用struts2标签的,load进来竟然要十几秒,而改用JSTL之后,不用两秒就load完了,所以,我建议,能不用struts2标签就不用,呵呵。
      

  5.   

    已经在后台比较,得出结果为C,如果C==null,则XXX,否则,YYY,呵呵,谢谢关注。
      

  6.   

    刚刚看到你的问题,呵呵,肯定晚了,不过我还是把方法告诉你吧
    其实Struts2 前台判断字符串是否相等是可以的,只是写法比较特殊
    <s:if test='stringList == "字符串"'</s:if>
    注意单双引号
    一般人都会以为是反过来写,其实那样写是错误的,
      

  7.   


    stringList 是在后台定义的。测试通过,谢谢11楼的兄弟。
      

  8.   

    <input type="radio" id="sex" name="sex" value="M" <s:if test="%{(sex == null) || (\"M\" == sex)}">checked</s:if> />男
    <input type="radio" id="sex" name="sex" value="W" <s:if test="%{\"W\" == loginUtil.person.sex}">checked</s:if> />女我是这样子做滴 ~~