我读了这个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);
}
答案 0 :(得分:0)
最后我更好地关注了问题。
beanutils 方法从一开始就显得过度,因为我必须向服务器添加新库并编写一些转换器。但转换器和所有验证逻辑仍然存在于jsf页面中。
我真正需要的是一种简单的方法将一些文本放在表单的输入字段中,这个任务可以通过一些javascript轻松完成。