2012-04-06 2 views
1

У меня проблема с <h:inputText>. В частности, у меня есть серия inputtext, combobox, calendar на странице xhtml.SEAM Параметрированный входной текст

Каждый из них имеет атрибут значения, например: value="#{myBean.first}", value="#{myBean.second}" и так далее.

Таким образом, myBean должен иметь огромное количество сеттеров и геттеров. мне нужно использовать только один сеттер, и только один поглотитель, как следующее:

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

Таким образом, в этих двух методах только я использую карту с ключом = theId и значением = theValue вставленного пользователем.

Мой вопрос: как это сделать на странице xhtml?
Так будет использоваться значение-тег? Есть ли специальное уведомление для передачи параметра setter/getter?

Обратите внимание, что «параметр», добавленный в inputText, может быть объектом.

Как я могу это сделать?

ответ

1

Если вы хотите сохранить пары ключ/значение на карте, вы можете ссылаться на карту непосредственно в компонентах пользовательского интерфейса. Произнесите поддержку боб имеет это:

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']}" /> 
+0

Великой Иеремия! Спасибо, все идет! – Giant2