Конвертировать пары ключ-значение в бин
Я прочитал этот вопрос и посмотрю на beanutils, но мне нужно что-то более конкретное. У меня есть форма JSF, поэтому после ее публикации инфраструктура JSF сделает всю работу за меня, взяв параметры записи (пары ключ-значение), соответствующим образом преобразовав их и добавив соответствующие свойства компонента. Я хотел бы, чтобы некоторые поля в форме были предварительно скомпилированы на основе пар ключ-значение. Могу ли я достичь этой цели, воспользовавшись силой JSF?
Другими словами, у меня есть пары ключ-значение, и я хочу использовать их для заполнения некоторых полей в существующей форме JSF, избегая их ручной компиляции.
Задача еще более сложная, потому что в форме у меня есть некоторые HTML выбора.
Они соответствуют объектам словаря, которые имеют идентификатор и описание. К сожалению, в соответствующей паре ключ-значение у меня есть имя поля и описание, а не идентификатор.
Обновление с дополнительной информацией
форма уже существует, и все поля объединены в единицу, скажем, типа Person следующим образом:
<h:inputText value="#{bean.person.name}" />
<h:inputText value="#{bean.person.state}" />
Где-то еще у меня есть строки, подобные этим:
name=Bruno
state=Germany
Подход beanutils кажется многообещающим, я хочу избежать жесткого кодирования имен полей в коде.
Код инициализации станет:
public void preCreate()
{
selectedPerson = new Person();
fillFields(myMap, selectedPerson);
}
1 ответ
Наконец-то я сфокусировал проблему лучше.
Подход beanutils казался излишним с самого начала, потому что я должен добавить новые библиотеки на сервер и написать несколько конвертеров. Но конвертеры и вся логика проверки все еще были на странице jsf.
Что мне действительно нужно, так это простой способ поместить некоторый текст в поля ввода в форме, задача, которая может быть легко выполнена с помощью некоторого JavaScript.