Generics aren't present at runtime -- they are a compile time "hack" in Java. So at run time, your 2nd argument is a Map, nothing special about it (the generic is no longer visible then). So you will be correct in not putting the generic definition in the function definition.
On 11/9/06, Daniel Young <[EMAIL PROTECTED]> wrote:
PS: if I remove the generic part from the Map declaration works fine, so it's not a biggie… ________________________________ From: Daniel Young [mailto:[EMAIL PROTECTED] Sent: Friday, 10 November 2006 2:24 PM To: [email protected] Subject: Generics in <function-signature> for custom EL function Hi all, I'm trying to expose the following function in EL: public static String getMessage(final String locale, final Map<String, Message> messages) { . . . } However I'm having trouble specifying the messages parameter in my taglib.xml, due to the Generic. I have the following: <function> <function-name>getMessage</function-name> <function-class>com.synyati.spurwing.i18n.entity.Message</function-class> <function-signature>java.lang.String getLocalisedMessage(java.lang.String, java.util.Map<java.lang.String,com.synyati.spurwing.i18n.entity.Message>)</function-signature> </function> The < seems to encode fine, but there comma between the String and Message seems to confuse things. I get the following: Caused by: java.lang.ClassNotFoundException: java.util.Map<java.lang.String Is this a known error, or can I get around it somehow? Cheers, Daniel.

