<s:if test="staffinfo.sex==1">男</s:if><s:else>女</s:else> 数据库是mysql,数据为bit型的时候可以判断 但是 <s:if test="staffinfo.grade== '高' ">高级</s:if><s:else>中级</s:else> grade在数据库中的类型为字符串,这时候,这句判断语句就判断不出来, 网上搜了很多也没有,难道是struts的bug
staffinfo是实体类, staffinfo.sex 其中sex是bit类型的,而grade是字符串类型,我的意思是,staffinfo.sex==1这句能判断出来,而staffinfo.grade=='高' 这句判断不出来,也就是判断不出字符串, 另外staffinfo.grade可以取到数据,而且打出来也是'高',但却 s:if 比较的话比较不出来
改为 <s:if test='{#staffinfo.grade == "高"}'></s:if><s:else>中级</s:else> 试试 记住里面是双引号,外面是单引号
把staffinfo去掉就取到值了 这种方法真别致,单引号套双引号,还要#在前面 。。。书上也没找到