我想判断session中user的sex值<s:if test="#session.user.sex == '男'">
<s:if test='#session.user.sex == "男"'>
<s:if test="#session.user.sex.equals('男')">
<s:if test='#session.user.sex.equals("男")'>得到的都是false
求指点。。

解决方案 »

  1.   

    放 request 作用域里面试试。
      

  2.   

    结果是false就说明是女啊,你就一个if,肯定是false了
      

  3.   

    你输出那个sex看看,会不会是取值出问题了?
      

  4.   


    <%

    session.setAttribute("A",'男');%>
    <body>
    ${sessionScope.A }<br>
    <s:if test="#session.A == '男'">
    aaaaaaaaaaaaaaaa<br>
    </s:if>
    bbbbbbbbbbbbbbbb
    </body>
    </html>我的测试是木有问题的
      

  5.   



    难道悲剧的只是我?
    你写个model类,new一个再放进去试试??用#session.xxx.xxx
      

  6.   


    <%
    Stu stu=new Stu(1L,"aaa");//id和name
    session.setAttribute("S",stu);%>
    <body>
    ${sessionScope.A }<br>
    <s:if test="#session.S.name == 'aaa'">
    aaaaaaaaaaaaaaaa<br>
    </s:if>
    bbbbbbbbbbbbbbbb
    </body>
    </html>还是木有问题噢,难道你的是乱码,你把sex打印出来看看
      

  7.   

    <s:property value="#session.user.sex" />取出来是没问题的
      

  8.   

    我是想用这个判断来选中一个单选框。。
     <label for="male">男 </label>
              <input  name="user.sex" type="radio" id="male" value="男" <s:if test="#session.user.sex == '男'">
              checked="checked"</s:if><s:else>?</s:else>/>
              <label for="female">女 </label>
              <input  name="user.sex" type="radio" id="female" value="女" <s:if test="#attr.user.sex == '女'">
              checked="checked"</s:if><s:else>?</s:else>/><--else用来测试判断-->
            </p><s:property value="#session.user.sex" /> <--测试取值-->     </td>
    运行后查看源代码2个都是?也就是false....
      

  9.   

    我用中文就报错了,用aaa木有问题=。=
      

  10.   

    我表示我把数据库的强行改成aaa再判断也不行貌似彻底悲剧了。。
      

  11.   

    <s:if test="#session.user.sex == \'男\'">同志呀,要转义都可以匹配了啥,我都试了很久才得出结论的!!!!!!!!!!!!给分吧、、、、、、