С Set
это невозможно, так как оно не позволяет ссылаться на элементы по индексу или ключу. Однако возможно с List
и Map
, просто указав индекс индекса и карту в значение ввода.
С List
:
private List<String> list; // +getter (no setter necessary)
@PostConstruct
public void init() {
list = createAndFillItSomehow();
}
<ui:repeat value="#{bean.list}" varStatus="loop">
<h:inputText value="#{bean.list[loop.index]}" />
</ui:repeat>
С Map
(только если среда supports EL 2.2 or JBoss EL):
private Map<String, String> map; // +getter (no setter necessary)
@PostConstruct
public void init() {
map = createAndFillItSomehow();
}
<ui:repeat value="#{bean.map.entrySet().toArray()}" var="entry">
<h:inputText value="#{bean.map[entry.key]}" />
</ui:repeat>
Следует отметить, что канонический подход состоит в использовании List
полноправных javabeans. Давайте предположим, что в бина класс с именем Par
со свойствами id
и value
отображающая именно к par
таблице в БД с колоннами id
и value
:
private List<Par> pars; // +getter (no setter necessary)
@PostConstruct
public void init() {
pars = createAndFillItSomehow();
}
<ui:repeat value="#{bean.pars}" var="par">
<h:inputText value="#{par.value}" />
</ui:repeat>
В любом случае, он работает так же хорошо при использовании <p:inputText>
, это никоим образом не связано с PrimeFaces, в контексте этого вопроса речь идет только о библиотеке компонентов JSF UI, основанной на jQuery. Просто замените h:
на p:
, чтобы включить его.
Привет, проблема в том, что делать, если в переменной _par имеется более одного элемента? Поэтому мне нужно что-то вроде набора или списка. То, что вы описываете, хранит только одно строковое значение. (или я не понимаю вас?) – LStrike
Теперь посмотрите на мой пример, если _par - это объект. Это будет работать –
ОК, это действительно вариант. Но для этого мне пришлось бы сделать поле inputText сохранено в моей базе данных. Он не будет работать с переходным объектом. В этом случае _par - это только список строковых значений (например, ключ для карты), inputText должен быть неизменным значением для поиска документа. Любые идеи для этого. Если нет, мне нужно разобраться в обходном пути. – LStrike