1

我有一个问题<h:inputText>。特别是我在 xhtml 页面上有一系列输入文本、组合框、日历。

它们中的每一个都具有诸如 follow value="#{myBean.first}"、等的 value 属性value="#{myBean.second}"

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

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

因此,在这两种方法中,我使用由用户插入的带有 key=theId 和 value=theValue 的 Map。

我的问题是如何在 xhtml 页面中做到这一点?
这就是价值标签的方式吗?将参数传递给 setter/getter 是否有特别注意事项?

请注意,添加到 inputText 的“参数”可能是一个对象。

我能怎么做?

4

1 回答 1

1

如果要将键/值对存储在 Map 中,可以直接在 UI 组件中引用该映射。假设你的 backing 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']}" />
于 2012-04-06T15:41:43.050 回答