Задача этого практикума это научиться отображать значения компонент на форме на универсальное хранилище. Т.е, чтобы в дальнейшем при изменении количества компонент на форме, код по хранению значений не менялся.
Это достаточно универсально, изменять только одно место - форму, не затрагивая место хранения. А мне это потребуется для следующего практикума.
Решение этого вопроса достаточно простое - это возможность EL работать с Map. Таким образом мой mapping будет представлять отображение значений UI компонент на Map.
Вот сам бин:
А вот и сам mapping:
Результат работы выведем в консоль:
все сохранилось.
Вот сама форма.
В следующем практикуме я найду этому более интересное применение.
Источник
Value and Method Expressions
Исходник
Это достаточно универсально, изменять только одно место - форму, не затрагивая место хранения. А мне это потребуется для следующего практикума.
Решение этого вопроса достаточно простое - это возможность EL работать с Map. Таким образом мой mapping будет представлять отображение значений UI компонент на Map.
Вот сам бин:
public class UIMappingBean { public UIMappingBean() { super(); } private Map<String, Object> map = new HashMap<String, Object>(); public void setMap(Map map) { this.map = map; } public Map getMap() { return map; }
А вот и сам mapping:
<af:inputText label="Имя" id="it1" value="#{uiMappingBean.map['name']}"/>Таким образом удалось отобразить произвольное количество компонент, без изменений в bean.
Результат работы выведем в консоль:
public void printValues(ActionEvent actionEvent) { System.out.println(Arrays.toString(map.entrySet().toArray())); }
все сохранилось.
Вот сама форма.
В следующем практикуме я найду этому более интересное применение.
Источник
Комментариев нет:
Отправить комментарий