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

xmjla07d  于 2024-01-04  发布在  其他
关注(0)|答案(1)|浏览(251)

我有一个这样的物体

  1. public class Employee {
  2. public String getName() {
  3. return "tommaso";
  4. }
  5. public String getName(String name) {
  6. return "tommaso "+name;
  7. }
  8. }

字符串
在我的操作中(我使用Struts),我设置了一个Employee对象的参数。

  1. request.setAttribute("emp",employeeInstance);


之后我用jsp写了这段代码

  1. ${emp.name}


并且输出是

  1. tommaso


如果我想使用第二种方法,public String getName(String name) { ... },使用相同的形式文本,${emp. ...something passing a parameter... },是可能的吗?

qvtsj1bj

qvtsj1bj1#

如果你的目标至少是一个Servlet 3.0容器,如Tomcat 7+,Glassfish 3+,JBoss AS 6+等,并且web.xml至少符合Servlet 3.0规范,那么EL将允许你调用带参数的方法。然后你的特定情况可以解决如下:

  1. ${emp.getName('foo')}

字符串
如果你还没有使用Servlet 3.0或者不能升级到Servlet 3.0,那么你需要创建一个自定义的EL函数,它有两个参数:Employeename

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


你可以使用如下:

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

展开查看全部

相关问题