[size=medium]最近在项目中无意设置的boolean变量值为isXxx,用eclipse生成相应的set和get方法,eclipse生成的的boolean类型的get方法为isXxx,前台导致取不到相应的值[/size]
[size=medium]导致以上原因是因为在Action中定义boolean类型的属性值为isXxx,跟eclipse开发工具生成的get方法名字相同,而前台取值${isNumber}或是<s:property value="isNumber"/>都会调用相应的get方法去取值,这就造成调用时没法区分是调用的是isXxx()方法还是isXxx属性,或者两者都不是。以上只是分析,过段时间再确认,最近太忙了。哪位知道的话留言下。[/size]
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"/>';//取到的值都为''
[size=medium]导致以上原因是因为在Action中定义boolean类型的属性值为isXxx,跟eclipse开发工具生成的get方法名字相同,而前台取值${isNumber}或是<s:property value="isNumber"/>都会调用相应的get方法去取值,这就造成调用时没法区分是调用的是isXxx()方法还是isXxx属性,或者两者都不是。以上只是分析,过段时间再确认,最近太忙了。哪位知道的话留言下。[/size]