这真让我惊讶! 我在我的JSP下面的代码。
<c:param name="title" value="${slideShow.title}" />
此代码是工作,直到我重构幻灯片类的所有属性的公共和去除getter / setter方法。 所以,在我看来,EL仅适用于getter和没有直接的属性访问。 这是真的 ? 有什么办法得到它的直接属性,而不是通过干将去工作吗?
这真让我惊讶! 我在我的JSP下面的代码。
<c:param name="title" value="${slideShow.title}" />
此代码是工作,直到我重构幻灯片类的所有属性的公共和去除getter / setter方法。 所以,在我看来,EL仅适用于getter和没有直接的属性访问。 这是真的 ? 有什么办法得到它的直接属性,而不是通过干将去工作吗?
JSP EL依靠严格对Java Bean的规范,所以不能使用其他约定来访问属性值。
其实,你可以了解这是StackOverflow的EL标签说明
所以有可能调用非getter方法(不是属性),但只有从某些EL vesion:
由于EL 2.2,其被保持为3.0的Servlet / JSP 2.2(Tomcat的7,Glassfish的3,JBoss应用服务器6等)的一部分,它可能调用非getter方法,必要时用的参数。
例如,$ {bean.find(param.id)}用
public Something find(String id) {
return someService.find(id);
}