属性成员是isXxx时对应的get方式是isXxx,前台jsp取不到这个属性值

最近在项目中无意设置的boolean变量值为isXxx,用eclipse生成相应的set和get方法,eclipse生成的的boolean类型的get方法为isXxx,前台导致取不到相应的值 

Java代码  收藏代码
  1.  public class XxxAction extends BaseAction{  
  2.    private boolean isNumber;  
  3.   
  4.    public boolean isNumber() {  
  5.    return isNumber;  
  6.    }  
  7.    public void setNumber(boolean isNumber) {  
  8.        this.isNumber = isNumber;  
  9.    }   
  10. }  
Java代码  收藏代码
  1. //前面的jsp代码已省略,jsp嵌套进js代码  
  2.      var isNumber = '${isNumber}';//取得后台传过来的值,取到的值都为''  
  3.  //或者是     
  4.     var isNumber = '<s:property value="isNumber"/>';//取到的值都为''  


   导致以上原因是因为在Action中定义boolean类型的属性值为isXxx,跟eclipse开发工具生成的get方法名字相同,而前台取值${isNumber}或是<s:property value="isNumber"/>都会调用相应的get方法去取值,这就造成调用时没法区分是调用的是isXxx()方法还是isXxx属性,或者两者都不是.

通过El表达式获取属性值的时候,属性不一定媱定义,只需要定义对应的get、set方法也可以

原文地址:https://www.cnblogs.com/pjlhf/p/8707762.html