requestsetAttribute("fil","value");
%>
<span contenteditable="false"><input name="fillins${fil}" /></span>
在JSP页面用EL表达式调用方法的话,一般情况下是调用的getXxx()方法或者isXxx()方法
是为了获取属性值,举个例子吧
例如你写了个类叫做User,然后定义了name属性
private String name = "小明";
// 一般我们还会写 get 和 set方法
public String getName() {
return name;
}
public void setName(String name) {
thisname = name;
}
public String getPasword() {
return "mima123";
}
}
那么如果我在indexjsp这个jsp页面中用EL表达式获取name的话,就可以通过用
${name }来获取,之所以可以这样调用是因为我们写了public String getName() {}这个方法
${name } EL表达式会自动的把name的首字母n转成大写变成Name,然后加上get,也就是拼接成getName()这个方法
然后他去User类中找这个方法,找到了就执行这个方法获取返回值,EL表达式就是这样获取到javabean的属性值的
有必要说明的是,这个${name } EL表达式里面的name不是我们在User类中定义的这个name属性
而是 public String getName()这个方法方法名去掉get这三个字母然后把N变成小写之后的字符串,也就是name
意思就是说,就算我们在User类中没有定义 private String name = "小明"; 这个name属性
而直接写成
return "小明";
}
EL表达式也会获取到这个方法的返回值
我们一般说用EL获取某某对象的属性,其实就是那个对象的属性,有一个对应get方法,而在这个get方法里面用return 返回了那个属性值,所以才可以获取到
再然后就是我再上面代码里有一个getPassword()方法,但是没有定义password这个属性,这样子做是为了证明只要有get方法,EL表达式在页面中就可以获取到只要你把getPassword的get去掉,然后把Password的P换成小写p,变成password再jsp页面也是可以通过${password }获取getPassword()这个方法的返回值的
还有一种情况,上面我说 可以调用getXxx()和isXxx()的方法并获取到他们的返回值,
其实很多人都不知道,EL表达式默认还会调用 is开头的isXxx()方法,不信去写一个测试就知道了!
关于楼主问的怎么用EL调用方法,其实也是可以调用方法的,只不过调用除getXxx()和isXxx()之外的方法比较麻烦,而且只能调用静态方法
具体可以参考 >
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)