JSPのEL関数は簡単に実装できて非常に便利なのですが、引数の異なる同名の関数を定義することができません。
たとえば以下のようなTLDはTomcatにデプロイしただけで「functions-1.1.0-SNAPSHOT.jar の中の関数名 message が重複しています」と怒られます。
<function> <name>message</name> <function-class>jp.sf.amateras.functions.Functions</function-class> <function-signature>java.lang.String message(java.lang.String)</function-signature> </function> <function> <name>message</name> <function-class>jp.sf.amateras.functions.Functions</function-class> <function-signature>java.lang.String message(java.lang.String, java.lang.String)</function-signature> </function>
可変個引数もダメみたい。配列の引数を取ることはできますが、JSP-ELには配列リテラルもないなど引数の渡し方には制約があります。EL関数で引数違いの関数を作る場合、別の関数として複数定義するしかありません。
うーむ…。