powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring Webflow: обработка ошибок
5 сообщений из 5, страница 1 из 1
Spring Webflow: обработка ошибок
    #39229487
kadet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В Spring Webflow ошибки можно обрабатывать следующими способами:
1.
Код: java
1.
 <transition on-exception="web.appl.exceptions.SystemException" to="authenticate" /> 


2.
Код: java
1.
 <exception-handler bean="webflowExceptionController"/> 

, где :
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
@Component
public class WebflowExceptionController extends TransitionExecutingFlowExecutionExceptionHandler {
	
	@PostConstruct
	private void init(){
		add(SystemException.class, "authenticate");
	}
}


3. или как в одной книги пишут " return new EventFactorySupport().error(this) ;":
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
public Event authenticate(AuthenticationForm authenticationForm, MvcExternalContext externalContext, MessageContext messageContext) {
 try {
       authenticate(authenticationForm, ((HttpServletRequest)
       externalContext.getNativeRequest()).getSession());
 } catch (AuthenticationException authenticationException) {
      messageContext.addMessage(new
     MessageBuilder().error().code(LOGIN_FAILED_KEY).build());
     return new EventFactorySupport().error(this);
 }
}



В общем и целом это все работает и в итоге переводит к следующему указанному в той или иной форме состоянию (to="authenticate")

Мне надо сделать так, чтобы все работало как в Spring , т.е. в случае возникновения ошибки (и кто его знает почему, но как обычно), ошибка передавалась бы в метод контроллера (@ExceptionHandler) где перенаправлялась бы на специально подготовленную для этого исключения страницу.

Т.е. как альтернативу можно было бы объявить бин:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
	@Bean
    public SimpleMappingExceptionResolver simpleMappingExceptionResolver(){
		SimpleMappingExceptionResolver resolver = new SimpleMappingExceptionResolver();
		Properties mappings = new Properties();
		
		mappings.put(Exception.class.getName(), "error");
		
		resolver.setExceptionMappings(mappings);
		resolver.setDefaultErrorView("error");
		return resolver;
	}

и потом в этой jsp потом скриплетами реализовывать логику анализа и вывода ошибки. Но это как раз хочу избежать, т.к. уже насмотрелся выше крыши такими "произведениями"
...
Рейтинг: 0 / 0
Spring Webflow: обработка ошибок
    #39229494
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kadetВ Spring Webflow ошибки можно обрабатывать следующими способами:
в JSP 3.0 таким:
в web.xml достаточно написать код ошибки и что вызвать
Код: java
1.
2.
3.
4.
<error-page>
    <error-code>404</error-code>
    <location>/pageNotFound</location>
</error-page>
...
Рейтинг: 0 / 0
Spring Webflow: обработка ошибок
    #39229506
kadet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123kadetВ Spring Webflow ошибки можно обрабатывать следующими способами:
в JSP 3.0 таким:
в web.xml достаточно написать код ошибки и что вызвать
Код: java
1.
2.
3.
4.
<error-page>
    <error-code>404</error-code>
    <location>/pageNotFound</location>
</error-page>


да это я знаю. Я использую Spring 4 и java configuration. Метод (@Bean) это и делает.

Задача в том, чтобы избежать всякого ява-кода (скриплетов) в jsp. Ну или хотя бы максимально минимизировать его.
Вот например такой вариант работает, но опять же надо надо анализировать что за ошибка или вытаскивать мою SystemException и потом публиковать красиво. Этот код хорош до тех пор пока не возникнут пожелания чтонибудь усовершенствовать. И все, он сразу засорится ява-кодом
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<%
Exception ex = (Exception) request.getAttribute("exception");
%>

<H2>Data access failure: <%= ex.getMessage() %></H2>
<P>


<%
ex.printStackTrace(new java.io.PrintWriter(out));
%> 
...
Рейтинг: 0 / 0
Spring Webflow: обработка ошибок
    #39229592
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kadet,
Странно. В спецификации 3.0 как раз появилась возможность уйти от лапши java кода.
Ты перечисляешь все коды ошибок в конфиге. И файлы html им в паре.
Всё.
При возникновении ORA-123 контейнер вызовет myErrorDublikate.html где
<h>Ошибка вставки. Пользователь существует.
Извини, спринг не знаю.
...
Рейтинг: 0 / 0
Spring Webflow: обработка ошибок
    #39230330
kadet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,
спасибо,

наверна так и буду делать. Я думал, может что-то новое изобрели уже опять.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Spring Webflow: обработка ошибок
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]