В моем приложении JSF2 (с Facelets) требуется, чтобы многие страницы открывались в режиме ReadOnly / Editable. Ниже приводится точное требуемое поведение:
- Страница сначала загружается в режиме ReadOnly, когда все компоненты страницы
отображаются в виде текстов.
- Пользователь нажимает кнопку «Редактировать», чтобы открыть страницу в редактируемом режиме.
- В редактируемом режиме все компоненты видны и ими можно манипулировать.
- Пользователь вносит изменения и нажимает кнопку Сохранить, которая загружает страницу обратно в режиме ReadOnly (т. Е. Все тексты и никакие компоненты).
Если у меня есть TextArea на странице, в режиме ReadOnly я не хочу, чтобы он был отключен / readOnly, вместо этого я хочу использовать outputText. В редактируемом режиме он должен вести себя как TextArea.
Что было бы подходящим способом для достижения этой цели, учитывая, что мне нужно такое поведение на нескольких страницах приложения.
Должен ли я написать два компонента (textArea и outputText) и манипулировать их отображаемым свойством для отображения одного.
Можно ли каким-то образом управлять поведением элементов в JSF и отображать тексты вместо самих компонентов (возможно, путем написания собственного рендерера)?
Заранее большое спасибо за ваш вклад.