java - 如何使用 java 表达式语言执行此操作

标签 java jsp jstl el

假设我有以下 java 对象,我希望使用 el 在我的 jsp 中读取它:

class A {

 Map map = new HashMap();
 int count;

        String getAttribute(String attrName)
        {
                return map.get(attrName);
        }

       String getCount()
       { 
               return count;
      }

}

我可以通过执行 ${a.count}

调用计数

但是如何使用 el 调用 getAttribute 呢?

最佳答案

Java EE 6(例如 Glassfish 3 将接受 ${a.getAttribute('foo')})支持方法调用,而 Java EE 5 不支持。在这里,您需要像这样公开您的 map :

public Map getAttributes() {
  return map;
}

使表达式 ${a.attributes['foo']}) 起作用。

如果您不使用 Java EE/JSP,则可以使用 EE 6 兼容实现,例如支持方法调用的 JUEL 2.2.x。

关于java - 如何使用 java 表达式语言执行此操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1372087/

相关文章:

jsp - EL 表达式未在 JSP 中计算

java - 从下拉列表中检索值时出现错误

java - SpringMVC 和 @ModelAttribute 特性

java - JSP中带指数的Double类型格式错误

Java : Simple array with custom range of values (int)?

java - 在 Eclipse Indigo 上配置 JSF 2.0 的问题

java - Spring MVC 3 表单 validator 不在 .jsp 中显示错误消息

tomcat - 让 JSTL 与 Tomcat 一起工作

java - 在 Java 中创建或重用对象引用之间的区别

java - 将单选按钮绑定(bind)到 Spring Webflow 中的特定枚举值