Вот моя проблема, я постараюсь сделать короткую ...
Когда я отправляю форму в моем приложении, вызывается метод проверки, и, когда возникает ошибка, эта случайно неотображается на экране.
Это действительно случайно.Чтобы избежать этой проблемы, просто сделайте ... и заставьте метод ждать 500 мс между this.addActionError(myError)
и return actionResult
, чтобы он работал правильно.
addActionError добавляет сообщение об ошибке в локальный сеанс браузеразатем в результате следующее действие получает сохраненное в сеансе сообщение для их отображения.
С этой информацией кажется, что существует проблема синхронизации.
Итак, мы идем: как может метод addActionErrorбыть асинхронным?
Вот процесс: я нажимаю на свое действие отправки, которое соответствует моему методу действия
public final String myAction(){
String actionResult = null;
this.myDTO = this.getMainService().myAction(this.myDTO);
Это делает некоторые обработки ...
if(Constants.TECHNICAL_EXCEPTION.equals(myDTO.getResult())){
this.addActionError("my reference to displayed error");
actionResult = Constants.TECHNICAL_EXCEPTION;
}
/*
Here my 500ms wait bloc;
*/
return actionResult
}