本帖最后由 fqf470306577 于 2013-04-01 21:23:37 编辑

解决方案 »

  1.   

    <s:if test="#str == daji ">试试
      

  2.   

    <s:if test="#daji.equals('daji') ">试试
      

  3.   

    daji 放在什么作用域里面 ,,取的时候要加内置作用域对象才行,,
    比如放在request。。要用 #request.daji 
      

  4.   

    daji:是通过action传过来的一个arraylist里面的一个属性,如果直接用<s:property value="daji"/>是可以正常输出里面的值的,我是这么获取的:
    <s:iterator value="jiaoshiliebiao">
    <s:property value="daji"/>
    </s:iterator>
    str:这里的str其实是我为了描述问题简化的一个字段。本来要比较的对象是我在一个.java文件里面连接数据库后得到的一个arraylist的,直接在jsp页面获取内容并和上面的daji进行比较,我是这么获取的:
    <!--得到班级列表  -->
    <%
    ArrayList banjiliebiao = new ArrayList();
    GetUserData bj = new GetUserData();
    banjiliebiao = bj.getBanjixinxiliebiao();
    Iterator it2=banjiliebiao.iterator();
    Banjixinxi temp2 =new Banjixinxi();
    while(it2.hasNext())
    {
        temp3=(Banjiguding)it2.next();
        out.println(temp2.getDaji());
    }
    %>
    上面红色字体的两个值是我要进行比较的内容。
      

  5.   

    你上面的代码运行觉得有问题。。temp3 未定义。
    既然你说输出<s:property value="daji"/>有值,,但是又不相等
    那你看下这两个比较的变量 前后是否空格,集合里面是否真的有 “大一”字符串 不就行了。。
      

  6.   


    temp3那个纯属手误,是temp2
    <s:property value="daji"/>输出大一
    out.println(temp2.getDaji());输出大一
    我的问题是怎么让程序判断"daji"和temp2.getDaji()里面的字符串相等
      

  7.   

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

  8.   


    <%String str="大一";%>
    <s:if test="#daji == #str">
    <s:property value="#daji"/>
    </s:if>楼主这样试试
      

  9.   

    自己写个标签比什么都管用,struts的标签只不过一堆冗余代码,一无注释,二无文档,想用它的还得一个个的去试,真是浪费时间,有这点功夫,自己十个标签都写好了
      

  10.   

    飘过了 飘过了 楼主的写法应该可行 struts2的标签个用的确实很少