当前位置: 首页 > 知识库问答 >
问题:

JSP EL能做直接属性访问吗

丁学
2023-03-14

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

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

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

共有1个答案

东方高洁
2023-03-14

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

实际上,你可以阅读这是Stackel标签描述

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

由于EL 2.2是作为Servlet 3.0/JSP2.2(Tomcat 7、Glassfish 3、JBoss AS 6等)的一部分维护的,因此可以调用非getter方法,如果有必要的话,可以使用参数

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

public Something find(String id) {
    return someService.find(id);
}
 类似资料:
  • 问题内容: 我打算在两个响应结构的标头和主体中同时使用HTTP状态代码。不要在没有设置状态码的情况下将其设置为功能参数的两倍,并再次为结构设置以避免冗余。 该参数的是允许两个结构被接受的接口。编译器将引发以下异常: 因为响应字段必须没有状态属性。是否有另一种方法可以避免两次设置状态代码? 问题答案: 键入的是。在Go中,您需要显式声明基础结构的类型,然后访问该字段: 但是,更好的方法是为响应定义一

  • 问题内容: 到目前为止,我们使用了几个Linux用户: system_foo @ server system_bar @服务器 … 我们希望将系统用户放入docker容器中。 linux用户->容器 服务器内部的更改没有问题,但是远程系统使用这些用户向我们发送数据。 我们需要工作。远程系统无法更改。 如果每个linux操作系统只有一个系统(将端口22传递到容器),我将非常容易。但是有几个。 我们如

  • 怎么可以让这个 self.logger 属于子类(不是直接添加到子类属性这种方式),并且可以运行

  • 之前也有讲到过,Python 没有真正意义上的私有属性。然后这就导致了对 Python 类的封装性比较差。我们有时候会希望 Python 能够定义私有属性,然后提供公共可访问的 get 方法和 set 方法。Python 其实可以通过魔术方法来实现封装。 方法 说明 __getattr__(self, name) 该方法定义了你试图访问一个不存在的属性时的行为。因此,重载该方法可以实现捕获错误拼写

  • 9.6. 访问元素属性 XML 元素可以有一个或者多个属性,一旦你已经解析了一个 XML 文档,访问它们就太简单了。 在这部分中,将使用 binary.xml 语法文件,你在上一节中已经看到过了。 这部分由于某个涵义重叠的术语可能让人有点糊涂。在一个 XML 文档中,元素可以有属性,而 Python 对象也有属性。当你解析一个 XML 文档时,你得到了一组 Python 对象,它们代表 XML 文

  • 嗨,我从wp得到一些错误。日志是 注意:id被错误地调用。不应该直接访问产品属性 https://wordpress.org/support/topic/product-properties-should-not-be-accessed-directly-2/ 因此,我尝试参考相应的url。 更改代码<代码>$product- 改为上述代码,运行正常。但在昨天的Woocommerce更新之后,该代