2012-05-03 2 views
1

У меня есть пользовательские функции JSF и мне нужно, чтобы создать пользовательскую функцию, которая имеет список переменной длины аргумента:JSF 1.2 пользовательская функция переменной длины подписи

подпись:

public static boolean myFunction(String... args) { 
... 
} 

как я пишу подпись функции в файле taglib?

, например, если у меня есть только один аргумент, это работает:

<function> 
    <function-name>myFunction</function-name> 
    <function-class>functions.Functions</function-class> 
    <function-signature>boolean myFunction(java.lang.String)</function-signature> 
</function> 
+0

Я нашел себе ответ здесь: http://stackoverflow.com/questions/5033575/using-varargs-in-a-tag-library-descriptor. –

ответ

1

Внутренне vararg аргумент как String... args заменяется аргументом массива (String[] в данном случае).

Try:

<function-signature>boolean myFunction(java.lang.String[])</function-signature> 
+1

Я уже пробовал это, и он не работает. –

+0

Какие ошибки/проблемы возникают? Возможно, добавьте еще какой-нибудь код, я не думаю, что этот раздел является проблемой ... – Torious

+0

Ошибка в том, что я передаю два аргумента или больше, и функция принимает только одну. –

0

Он отлично работает, когда вы берете этот подход: http://seamframework.org/Documentation/CreatingCustomELFunctions

Идея заключается в том, чтобы не определить функции в явном виде, а не загружать их динамически из статического класса в библиотеку. Единственная проблема для меня в том, что Netbeans не распознает библиотеку таким образом.