Вы можете связать его со свойством бина Map<String, Object>
, где ключ String
меньше или больше имени динамического свойства. Вы можете получить доступ к значениям карты в EL следующим образом:
<h:inputText value="#{bean.map.someProp}" />
или
<h:inputText value="#{bean.map['someProp']}" />
, что даже можно сделать более динамично, где someVar
фактически разрешается до значения String
"someProp"
:
<h:inputText value="#{bean.map[someVar]}" />
Вам нужно только убедиться, что Map
создан во время инициализации компонента, иначе JSF не сможет получить доступ к значениям карты. EL именно не будет создавать «вложенные свойства» для вас. Таким образом, например прямая реализация:
public class Bean {
private Map<String, Object> map = new HashMap<String, Object>();
}
.. или внутри Конструктора, или @PostConstruct
, если хотите.