具有泛型arraylist返回类型和参数的el函数

Par*_*rth 3 java jsp el

我想ArrayList<HashMap<String,String>>在EL函数中返回三个String参数.怎么做?

Mat*_*nge 6

也可以在tld中使用复杂的返回类型.例如,这将工作:

public static List<Map<String, String>> func(String arg1, String arg2,
        String arg3) {

    List<Map<String, String>> out = new ArrayList<HashMap<String, String>>();
    // code code code
    return out;
}
Run Code Online (Sandbox Code Playgroud)

在你的.tld文件中,你必须把它放在:

<function>
  <description>Blah blah blah</description>
  <name>func</name>
  <function-class>your.package.YourClassName</function-class>
  <function-signature>
    java.util.List&lt;java.util.Map&lt;java.lang.String,java.lang.String&gt;&gt; func(java.lang.String,java.lang.String,java.lang.String)
  </function-signature>
</function>
Run Code Online (Sandbox Code Playgroud)

注意事项:在此示例中,必须在XML中正确转义尖括号.函数签名不能换行.非一元泛型,例如Map<String,String>,不能用作参数.(可能是一个标记化错误.)你必须在那里使用原始类型.