В моем JSF/приложение Facelets, вот упрощенная версия часть моей формы:Как отображать ошибки моего приложения в JSF?
<h:form id="myform">
<h:inputSecret value="#{createNewPassword.newPassword1}" id="newPassword1" />
<h:message class="error" for="newPassword1" />
<h:inputSecret value="#{createNewPassword.newPassword2}" id="newPassword2" />
<h:message class="error" for="newPassword2" />
<h:commandButton value="Continue" action="#{createNewPassword.continueButton}" />
</h:form>
Я хотел бы иметь возможность назначить ошибку на определенный час: тэг сообщения основанный на то, что происходит в continueButton(). Для newPassword и newPassword2 необходимо отобразить различные ошибки. Валидатор действительно не работает, потому что метод, который будет доставлять результаты (из БД), запускается в методе continueButton() и слишком дорого запускается дважды.
Я не могу использовать тег h: messages, потому что страница имеет несколько мест, которые мне нужны для отображения различных сообщений об ошибках. Когда я пробовал это, на странице отображались дубликаты каждого сообщения.
Я попытался это как лучшее предположение, но не повезло:
public Navigation continueButton() {
...
expensiveMethod();
if(...) {
FacesContext.getCurrentInstance().addMessage("newPassword", new FacesMessage("Error: Your password is NOT strong enough."));
}
}
Что мне не хватает? Любая помощь будет оценена!
Я знаю, что это не заблудиться, потому что Водородные: сообщения теги выплевывают ошибку просто отлично ... Я просто не знаю, как связать ошибку к специфический h: тег сообщения. Изменение идентификатора тоже не помогло. – 2008-11-24 23:34:10