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

最近在项目中无意设置的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属性,或者两者都不是。以上只是分析,过段时间再确认,最近太忙了。哪位知道的话留言下。

猜你喜欢

转载自xu-nuo.iteye.com/blog/2209527