首先这样写是没错的:<s:if test="canSubscribe == 'Y'">能 </s:if>
<s:else>不能 </s:else>
但是,问题在于在struts2中,如果你的==号右方就一个字母比如我的是'y',那么,Struts2会认为这是在对比一个char,会出现例外的,因为canSubscribe在anction中是String。解决方法是这样写:<s:if test="canSubscribe == 'Y'.toString()">能 </s:if>
<s:else>不能 </s:else>
当然,如果你对比的是多个字母那就没问题了,比如:<s:if test="canSubscribe == 'Yes'">能 </s:if>
<s:else>不能 </s:else>
就不用写.toString()了。