передача списка строк в bean-компонент jsf - PullRequest
0 голосов
/ 07 декабря 2010

В моем файле JSF у меня есть кнопка, которая выглядит следующим образом:

'

startIt () - это метод без аргументов с жестко закодированным списком строк ArrayList.

Что я действительно хотел бы сделать, так это передать переменное число строк в startIt (), и избавиться от жесткого кодирования.

Если я попробую синтаксис "vararg", например,

public void startIt (String ... myStrings) { ...}

Я получаю следующую ошибку при вызове функции с четной строкой:

неверное количество аргументов неверное количество аргументов Класс java.lang.IllegalArgumentException

Любые идеи о том, как заставить varargs работать с JSF 2, или, если это не удастся, другое решение лежащей в основе проблемы, будут наиболее ценно.

Спасибо.

1 Ответ

0 голосов
/ 16 января 2011

Один из способов сделать это, указав значение в элементе f: param, а затем вернуть его в бэк-компонент:

<h:commandLink actionListener="#{myBean.startIt}">
    <f:param name="request" value="AnyValue"/>
</h:commandLink>

Код бобов:

String request= (String)FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("request");
...