Конвертировать пары ключ-значение в бин

Я прочитал этот вопрос и посмотрю на 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.

Другие вопросы по тегам