java - 可以在带有参数的jsp中使用${object.method}吗?

标签 java jsp el

我有一个这样的对象

public class Employee {

  public String getName() {
    return "tommaso";
  }

  public String getName(String name) {
    return "tommaso "+name;
  }

}

在我的操作中(我使用 Struts)我设置了对象 Employee 的参数。

request.setAttribute("emp",employeeInstance);

然后在jsp中我写了这段代码

${emp.name}

输出是

tommaso

如果我想使用第二种方法,public String getName(String name) { ... },使用相同的正式文本,${emp. ...传递参数...,可能吗?

最佳答案

如果您使用符合 Servlet 3.0 规范的 web.xml 以 Servlet 3.0 容器为目标,例如 Tomcat 7、Glassfish 3、JBoss AS 6 等,那么您将能够调用带参数的方法在EL。然后可以按如下方式解决您的特殊情况:

${emp.getName('foo')}

如果您还没有使用 Servlet 3.0 或无法升级到它,那么您需要创建一个 custom EL function它有两个参数:Employeename

public static String getEmployeeName(Employee employee, String name) {
    return employee.getName(name);
}

然后按如下方式使用:

${my:getEmployeeName(emp, 'foo')}

关于java - 可以在带有参数的jsp中使用${object.method}吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10192831/

相关文章:

java - 错误 : `error - java. lang.IllegalArgumentException:从类路径获取文件时 URI 不是分层的

java - 如何在阿拉伯语言环境中以简单日期格式解析日期?

java - Eclipse 中的代码颜色样式

java - Get-Set Java 中图像的数据类型应该是什么

java - 如何将电子邮件地址隐藏为 url 参数

jsp - 如何在包含的页面中使用声明的变量?

java - 苹果。移动应用程序自动化。等到

java - 如何在 servlet 中获取所选单选按钮的值并将其存储在数据库中?

exception - java.lang.NoClassDefFoundError : javax/el/ValueExpression

jsf - 识别和解决javax.el.PropertyNotFoundException:目标不可访问