У меня есть страница списка , которая переходит на страницу добавления . Страница добавления имеет текстовое поле name , значение которого связано с сессионным компонентом .
На странице листинга есть кнопка добавления , которая проходит через метод действия к странице добавления. Этот метод действия очищает объект, с которым связано текстовое поле имени.
У меня также есть кнопка отмены на странице добавления, которая связана с методом действия, который снова очищает значение, с которым связано текстовое поле имени.
Если ничего не установлено немедленно, это все работает нормально.
Однако, если я установлю кнопку отмены на немедленную, если я введу значения в поле имени, а затем нажму «Отмена», метод действия запускается, очищает объект в компоненте поддержки и переходит на страницу списка. Если я затем нажимаю кнопку «Добавить», метод действия снова очищает объект (игнорируя, если это лучший метод или нет), а затем переходит на страницу добавления. Теперь я ожидаю, что текстовое поле имени страницы добавления будет пустым, но это не так ?! Разумеется, поскольку кнопка добавления не является немедленной, значения должны быть связаны и пустыми?
Ниже приведен соответствующий XHTML для кнопки добавления на странице списка
<h:commandButton id="addButton"
value="Add"
action="#{myBean.gotoAdd}"/>
Ниже приведен соответствующий XHTML для поля ввода на странице добавления (myBean - область действия сеанса), за которым следует кнопка отмены на странице добавления .:
<h:inputText id="newName"
value="#{myBean.newObject.name}"
binding="#{myBean.newNameInput}"
styleClass="name" />
<h:commandButton id="cancelButton"
value="Cancel" immediate="true"
action="#{myBean.cancelAdd}"
onclick="return confirm('You sure?');"/>