一尘不染

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

jsp

这真让我感到惊讶!我的JSP中有以下代码。

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

直到我重构了SlideShow类并公开了所有属性并删除了getters /
setter之前,这段代码一直有效。因此在我看来,EL仅适用于吸气剂,而不适用于直接属性访问。这是真的
?有什么方法可以使它与直接属性一起使用,而不是通过getter进行操作吗?


阅读 200

收藏
2020-06-08

共1个答案

一尘不染

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

因此可以调用非getter方法(非属性),但只能从某些EL调用:

由于EL 2.2是Servlet 3.0 / JSP 2.2(Tomcat 7,Glassfish 3,JBoss AS
6等)的一部分,因此可以调用非getter方法,如果需要的话可以使用参数。

例如$ {bean.find(param.id)}与

public Something find(String id) {
    return someService.find(id);
}
2020-06-08