<s:if test="changeDuty.getApplyType()==1">调班</s:if><s:elseif test="changeDuty.getApplyType()==2">换班</s:elseif><s:else>请假</s:else>判断在页面显示什么
正确是调班
换班
请假现在是请假
请假
请假
求指教怎么修改Struts

解决方案 »

  1.   

    你的type 是什么类型的,如果是字符串那就要加双引号,,
      

  2.   


    <s:if test="changeDuty.getApplyType().equals(‘1’)">调班</s:if><s:elseif test="changeDuty.getApplyType().equals(‘2’)">换班</s:elseif><s:else>请假</s:else>
    还有getApplyType()返回是int型,就去掉单引号.2楼说加双引号。。是需要之前加“\”的,转字义符
      

  3.   

    首先你的确定你的changeDuty对象是放在action里,
    然后你可以输出看一下<s:property value="changeDuty.getApplyType()"/>
    我记得好像不是你这么用的,一般都是changeDuty这个对象里有applyType属性
    要用到他的时候直接这样<s:property value="changeDuty.applyType"/>
    不能要get
      

  4.   

    <s:if test="changeDuty.getApplyType()=="1"">调班</s:if><s:elseif test="changeDuty.getApplyType()=="2"">换班</s:elseif><s:else>请假</s:else>
    这样就好了,你试试
      

  5.   

    参见:http://blog.csdn.net/liuyuhua0066/article/details/6460804
      

  6.   

    changeDuty.getApplyType()是否取到值了?struts2标签中不使用ognl也能通过对象.方法()获取值么?
      

  7.   

    changeDuty.getApplyType()是哪来的啊,没有取到值或者在test里加个%{}
      

  8.   

    如果是int类型的就
    <s:if test="changeDuty.applyType==1">调班</s:if><s:elseif test="changeDuty.applyType==2">换班</s:elseif><s:else>请假</s:else>
    如果是String类型的:
    <s:if test='changeDuty.applyType=="1"'>调班</s:if><s:elseif test='changeDuty.applyType=="2"'>换班</s:elseif><s:else>请假</s:else>