JSP EL可以直接进行属性访问

时间:2012-04-12 09:46:10

标签: jsp el

这让我很惊讶!我的JSP中有以下代码。

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

此代码正在运行,直到我重构了SlideShow类并将所有属性公开并删除了getter / setter。所以在我看来EL只能使用getter而不是直接属性访问。这是真的 ?有没有办法让它与直接属性一起工作而不是通过getter?

1 个答案:

答案 0 :(得分:4)

JSP EL严格依赖于Java Bean规范,因此不能使用其他约定来访问属性值。

实际上,你可以读到这是StackOverflow EL tag description

因此可以调用非getter方法(不是属性),但仅限于某些EL vesion:

  

由于EL 2.2是作为Servlet 3.0 / JSP 2.2(Tomcat 7,Glassfish 3,JBoss AS 6等)的一部分维护的,因此可以在必要时使用参数调用非getter方法。

     

E.g。带有

的$ {bean.find(param.id)}
public Something find(String id) {
    return someService.find(id);
}