Мне нужно создать пользовательский Компонент с JSF 2.0 (не составной компонент), который похож на SelectManyCheckbox, но имеет другой интерфейс. Я пытаюсь сделать это, создав подкласс UISelectMany и создав новый пользовательский рендерер.
Что я не понимаю, так это как входные данные клиента передаются через Компонент в Бин. Должен быть способ собрать параметры http из POST, поместить их в список и установить список в компоненте.
изм
То, что я уже пробовал, похоже на это:
public void decode(FacesContext context, UIComponent component) {
if ((context == null) || (component == null)) {
throw new NullPointerException();
}
MapComponent map = (MapComponent) component;
String key = getName(context, map);
String value = (String)context.getExternalContext().
getRequestParameterMap().get(key);
if (value != null)
map.setCurrent(value);
}
}
Я вижу в отладчике, что мои http-параметры выбраны правильно. Я также вижу, что мой конвертер будет вызываться после этого. Но ценности не достигают Боба. Но я вижу неспецифическую ошибку проверки в журнале.
Прочитав некоторые учебники в сети, я все еще не понимаю, как это работает. Должен быть некоторый клейкий код, который принимает преобразованное значение и передает его установщику в Бине. Кто-нибудь знает, как это работает?
Спасибо
Jan