我对<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可能是一个对象。
我该怎么办?
答案 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']}" />