将键值对转换为bean

时间:2015-03-23 09:21:37

标签: jsf-2 javabeans

我读了这个question,我会看看beanutils,但我需要更具体的东西。 我有一个JSF表单,所以在发布之后,JSF框架将为我提供post参数(键值对),适当地转换它们并放入相关的bean属性。 我希望在基于键值对预编译的表单中包含一些字段。我可以实现这个目标,充分利用jsf的力量吗?

换句话说,我有键值对,我想用它们来填充现有JSF表单中的某些字段,避免手动编译它们。

任务更复杂,因为在表单中我有一些html选择。

它们对应于具有ID和描述的字典对象。 不幸的是,在相应的键值对中,我有字段名称和描述,而不是id。

使用其他信息进行更新

表单已经存在并且所有字段都是ammaped到一个enity,让我们说类型为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 个答案:

答案 0 :(得分:0)

最后我更好地关注了问题。

beanutils 方法从一开始就显得过度,因为我必须向服务器添加新库并编写一些转换器。但转换器和所有验证逻辑仍然存在于jsf页面中。

我真正需要的是一种简单的方法将一些文本放在表单的输入字段中,这个任务可以通过一些javascript轻松完成。