<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>
不管是數字,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堆棧裏取
要判斷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堆棧裏取