JSP EL可以做直接访问属性(Can JSP EL do direct attribute acc

2019-06-25 08:00发布

这真让我惊讶! 我在我的JSP下面的代码。

<c:param name="title" value="${slideShow.title}" />

此代码是工作,直到我重构幻灯片类的所有属性的公共和去除getter / setter方法。 所以,在我看来,EL仅适用于getter和没有直接的属性访问。 这是真的 ? 有什么办法得到它的直接属性,而不是通过干将去工作吗?

Answer 1:

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);
}


文章来源: Can JSP EL do direct attribute access
标签: jsp el