Я пишу страницу JSF, где пользователь может изменить свой пароль.Я основал свое решение на примере кода из книги JavaServer Faces (3-е издание) Дэвида Гири и Кей С. Хорстманна.Вот мой код:
<h:inputText id="oldPassword" required="true"
validator="#{accountBean.validateOldPassword}">
<f:ajax event="blur" render="oldPasswordError" />
</h:inputText>
<h:message for="oldPassword" id="oldPasswordError" style="color: red" />
Часть AccountBean.java :
@Named("accountBean")
@SessionScoped
public class AccountBean implements Serializable {
private String login;
private String password;
(...)
public void validateOldPassword(FacesContext context, UIComponent component, Object value) {
if (!(((String)value).equals(password)))
throw new ValidatorException(new FacesMessage("Invalid password"));
}
}
Теперь, когда я разверну это в JBoss AS 7.0.2 и попытаюсьЯ получаю такую ошибку рядом со старым паролем:
/changePassword.xhtml @28,54 validator="#{accountBean.validateOldPassword}": Method not found: pl.edu.pw.mini.smartdialer.presentation.AccountBean@d1ff44.validateOldPassword(javax.faces.context.FacesContext, javax.faces.component.UIComponent, java.lang.Object)
Он утверждает, что метод не может быть найден, почему?Это почти копирование / вставка из книги и до сих пор не работает.Я понятия не имею, где найти ошибку.Не могли бы вы помочь мне?