这真让我感到惊讶!我的JSP中有以下代码。
<c:param name="title" value="${slideShow.title}" />
直到我重构了SlideShow类并公开了所有属性并删除了getters / setter之前,这段代码一直有效。因此在我看来,EL仅适用于吸气剂,而不适用于直接属性访问。这是真的 ?有什么方法可以使它与直接属性一起使用,而不是通过getter进行操作吗?
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)}与
由于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); }