【问题标题】:Accessing method from JSTL从 JSTL 访问方法
【发布时间】:2009-10-28 08:18:10
【问题描述】:

只是想知道是否有一种方法可以在不创建自定义标记库的情况下从我的类中访问方法。

示例 我有一个类,它提供了 4 种方法:hasDisplay()、hasCreate()、hasDelete() 和 hasEdit()——它们都只返回一个布尔值。

从我的jsp我只想

<c:if test="{ar.hasEdit}"></c:if>

但这仅适用于 getter 和 setter 方法,对吗?

【问题讨论】:

  • 我通过设置自定义 tld 和定义函数解决了我的美容问题。像魅力一样工作,是我所需要的。 :)

标签: jsp jstl jsp-tags


【解决方案1】:

如果您不想编写自己的标签,您可以为提供“beanish”接口的对象提供装饰器。所以你用 isHasEdit() 包装 hasedit() 这样你可以保持你的 jsps 干净并且仍然使用所需的语法,但你最终会得到“脏”的包装器。

我会选择自定义标签库。没那么复杂。

【讨论】:

  • 如果您可以用适当的脚本语言编写自定义标签,那就太好了。标记文件在一定程度上还可以,但有限。
  • 嗯,我用 JSP 标签写简单的标签,用 Java 写复杂的标签。效果还不错。我认为可以用任何 jvm 语言编写标签。
【解决方案2】:

正确,JSP EL 只能访问 bean 属性。其他任何东西都需要自定义标记库。这还不够好,但它就在那里。

【讨论】:

    猜你喜欢
    • 2011-04-18
    • 1970-01-01
    • 2015-04-04
    • 2017-02-18
    • 1970-01-01
    • 1970-01-01
    • 2014-08-25
    • 2012-10-15
    • 1970-01-01
    相关资源
    最近更新 更多