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

  1. public class XxxAction extends BaseAction{
  2. private boolean isNumber;
  3. public boolean isNumber() {
  4. return isNumber;
  5. }
  6. public void setNumber(boolean isNumber) {
  7. this.isNumber = isNumber;
  8. }
  9. }
  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方法也可以

05-11 15:37
查看更多