最近在項目中無意設置的boolean變量值為isXxx,用eclipse生成相應的set和get方法,eclipse生成的的boolean類型的get方法為isXxx,前台導致取不到相應的值
- public class XxxAction extends BaseAction{
- private boolean isNumber;
- public boolean isNumber() {
- return isNumber;
- }
- public void setNumber(boolean isNumber) {
- this.isNumber = isNumber;
- }
- }
- //前面的jsp代碼已省略,jsp嵌套進js代碼
- var isNumber = '${isNumber}';//取得后台傳過來的值,取到的值都為''
- //或者是
- var isNumber = '<s:property value="isNumber"/>';//取到的值都為''
導致以上原因是因為在Action中定義boolean類型的屬性值為isXxx,跟eclipse開發工具生成的get方法名字相同,而前台取值${isNumber}或是<s:property value="isNumber"/>都會調用相應的get方法去取值,這就造成調用時沒法區分是調用的是isXxx()方法還是isXxx屬性,或者兩者都不是.
通過El表達式獲取屬性值的時候,屬性不一定媱定義,只需要定義對應的get、set方法也可以

