4

私はこのようなオブジェクトを持っています

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}

出力は

とまそ

2番目の方法を使用したい場合、public String getName(String name) { ... }同じ正式なテキストを使用する${emp. ...something passing a parameter... }ことは可能ですか?

4

1 に答える 1

8

Tomcat 7、Glassfish 3、JBoss AS 6などのサーブレット3.0コンテナを、web.xmlサーブレット3.0仕様に準拠してターゲットにする場合、ELで引数を使用してメソッドを呼び出すことができます。次に、特定のケースを次のように解決できます。

${emp.getName('foo')}

サーブレット3.0をまだ使用していない場合、またはサーブレット3.0にアップグレードできない場合は、との2つの引数を取るカスタムEL関数を作成する必要があります。Employeename

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

次に、これを次のように使用します。

${my:getEmployeeName(emp, 'foo')}
于 2012-04-17T14:10:38.783 に答える