属性成员是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方法也可以


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM