<s:if test='ISLOCK=="Y"'>是</s:if> 
<s:if test='ISLOCK=="N"'>否</s:if>
不管是数字,CHAR,VARCHAR2都能正确判断,不要写成
<s:if test="ISLOCK=='N'">否</s:if>
注意单引号和双引号位置。
双引号在外的时候,如果数据类型是超过一个字符的类型,断正常。
但是如果是一个字符,则无法判断,
用 <s:if test="ISLOCK==/"N/"">否</s:if>这样也能判断出来,
但是无法和多个字符统一,所以推荐写法是单引号在外


例如这个语句 
要判断struts堆栈里systemSettingModel.settingValue 是否等于 "A" 
写成 
<s:if test="systemSettingModel.settingValue == 'A'">...</s:if> 
是不对的。 
这样A被认为是字符,而systemSettingModel.settingValue是单字符的字符串,不匹配 


应写成 
<s:if test='systemSettingModel.settingValue == "A"'>。。。 </s:if> 
或 
<s:if test="systemSettingModel.settingValue == \"A\"">... </s:if> 

参考: 
http://struts.apache.org/2.1.8.1/docs/why-wont-the-if-tag-evaluate-a-one-char-string.html 

另外systemSettingModel.settingValue的值可以这样取得 
${systemSettingModel.settingValue} 
<s:property value="systemSettingModel.settingValue"/> 
<s:property value="#request.systemSettingModel.settingValue"/> 

#表示不在struts堆栈里,没有#表示从struts堆栈里取