我想ArrayList<HashMap<String,String>>在EL函数中返回三个String参数.怎么做?
您也可以在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<java.util.Map<java.lang.String,java.lang.String>> func(java.lang.String,java.lang.String,java.lang.String)
</function-signature>
</function>
Run Code Online (Sandbox Code Playgroud)
注意事项:在此示例中,必须在XML中正确转义尖括号.函数签名不能换行.非一元泛型,例如Map<String,String>,不能用作参数.(可能是一个标记化错误.)你必须在那里使用原始类型.