powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / struts validation
2 сообщений из 2, страница 1 из 1
struts validation
    #33560253
PG_Vital
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В качестве Action-классов создаю классы, наследуясь от DispatchAction. Методы моих классов работают с Session Bean-ами, те в свою очередь с Hibernate. Большую часть валидации хочется сделать на Hibernate, при этом не определяя внешних правил валидации в struts (без struts validator-а). Допустим выполняется метод в классе-наследнике DispatchAction и при этом Session Bean вывалил исключение. Как можно дальше вернуться на форму, которая заполнялась перед вызовом DispatchAction-класса и выдать там ругательные сообщения ? Как-нибудь можно прикрутить туда ActionMessages или ActionError ?
Вообще есть ли в struts какой-то механизм, предусматривающий валидацию во время исполнения методов Action-класса ? (кроме ActionForm с его методом validate)...
...
Рейтинг: 0 / 0
struts validation
    #33560383
Фотография johanna
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно. самому надо писать. если на jsp пользуетесь html:errors, то к примеру так
в Action
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
/**
   * Set in the given request the ActionErrors for the struts tag 'html:errors'.
   *
   * @param errors
   * @param request the HttpServletRequest
   */
   public   static   void  setErrors (ActionErrors errors, HttpServletRequest request)
  {
    request.setAttribute (Globals.ERROR_KEY, errors);
  }
или так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
/**
   * Set in the given request a error message for the struts tag 'html:errors'.
   *
   * @param property    is equivalent to the property attribute of the tag 'html:errors'
   * @param resourceKey the error key of the application resources
   * @param request     the HttpServletRequest
   */
   public   static   void  setErrors (String property, String resourceKey, HttpServletRequest request)
  {
    ActionErrors errors =  new  ActionErrors ();
    errors.add (property,  new  ActionMessage (resourceKey));
    request.setAttribute (Globals.ERROR_KEY, errors);
  }

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
/**
   * Update.
   */
   public  ActionForward updateRow (ActionMapping actionMapping, ActionForm actionForm,
                                  HttpServletRequest request, HttpServletResponse response)
  {
    
    MyForm form = (MyForm) actionForm;   

     if  (isValidForUpdate (form, request)) {    
         
          performUpdateRow (actionMapping, actionForm, request, response);
        }     

     return  actionMapping.findForward (FORWARD_SUCCESS);
  }
// ---------------------------------------------------------------
  // Validierung 
  // ---------------------------------------------------------------

   private   boolean  isValidForUpdate (MyForm form, HttpServletRequest request)
  {
    ActionErrors errors =  new  ActionErrors ();
....
   бла бла бла
....
    setErrors (errors, request);

     return  errors.isEmpty ();
  }
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / struts validation
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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