SEAM参数化输入文本

时间:2012-04-06 10:43:05

标签: combobox seam textinput parameterized

我对<h:inputText>有疑问。特别是我在xhtml页面上有一系列inputtext,combobox,calendar。

每个人都有值属性,例如关注value="#{myBean.first}"value="#{myBean.second}",等等。

以这种方式,myBean必须拥有大量的setter和getter。 我只需要使用一个setter,只需要一个getter,如下所示:

public void setValue(String theId, String theValue){}
public String getValue(String theId){}

所以在这两种方法中,我使用了一个带有key = theId和value =由用户插入的值的Map。

我的问题是如何在xhtml页面中执行此操作? 那个价值标签会是怎样的?是否有特殊通知将参数传递给setter / getter?

请注意&#34;参数&#34;添加到inputText可能是一个对象。

我该怎么办?

1 个答案:

答案 0 :(得分:1)

如果要将键/值对存储在Map中,可以直接在UI组件中引用该映射。说你的支持bean有这个:

public Map<String, Object> getDataMap() { return dataMap; }
public void setDataMap(Map<String,Object> dataMap) { this.dataMap = dataMap; }

你的xhtml看起来像这样:

<h:inputText value="#{myBean.dataMap['first']}" />

<h:inputText value="#{myBean.dataMap['second']}" />