|
|
|
(Struts) validate & cancel
|
|||
|---|---|---|---|
|
#18+
1. есть форма у которой переопределен метод validate() 2. в struts-config прописано, что validate="true" 3. В JSP кроме html:submit нарисован html:cancel в Lifecycle of an ActionForm написано, что перед обработкой Action.execute() идет вызов ActionForm.validate() . В execute() я могу понять, что нажали cancel, а как определить isCanceled в ActionForm ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2005, 12:48 |
|
||
|
(Struts) validate & cancel
|
|||
|---|---|---|---|
|
#18+
в struts-config.xml пропиши action <action path="/ClientFormDo" type="app.clients.ClientFormAction" ... validate="true" input="/ClientForm.do"> <forward name="form" path="/jsp/clients/ClientForm.jsp"/> </action> где type="app.clients.ClientFormAction" - класс обработчик событий public final class ClientFormAction extends Action { а там пропиши if (isCancelled(request)) { ..... обработка чего либо return (mapping.findForward("GoTo")); } в struts-config.xml пропиши <global-forwards> <forward name="GoTo" path="/xxxx.do?action=goto"/> </global-forwards> и так далее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2005, 13:43 |
|
||
|
(Struts) validate & cancel
|
|||
|---|---|---|---|
|
#18+
To Pavel New: Спасибо. Но! Я бы с радостью обработал isCanceled в Action и сделал forward куда угодно, только до него дело не доходит, т.к. автор перед обработкой Action.execute() идет вызов ActionForm.validate() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2005, 13:52 |
|
||
|
(Struts) validate & cancel
|
|||
|---|---|---|---|
|
#18+
дело в том что html:cancel преобразовывается в конечном счете в <input type="submit" name="org.apache.struts.taglib.html.CANCEL" value="Назад" onclick="bCancel=true;"> так уж определено природой, что: смотри org.apache.struts.action.Action класс и его метод isCancelled(javax.servlet.http.HttpServletRequest request) поэтому попробуй сделать ручками тоже но классе формы или ... вопрос непонятен. Может быть всетаки делать в Action эти действия, дело в том, что validate это validate , а переход по cancel это событие ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2005, 15:10 |
|
||
|
(Struts) validate & cancel
|
|||
|---|---|---|---|
|
#18+
Pavel New вопрос непонятен. попробую еще раз обьянить: Форма SimpleForm Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. struts-config Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. JSP Код: plaintext 1. 2. 3. 4. 5. так вот... когда ждем CANCEL, сначала попадаем в метод validate() формы, соответсвенно если валидация не прошла (а в нашем случае она не пройдет) в Action.execute() мы даже не попадем. как быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2005, 15:57 |
|
||
|
(Struts) validate & cancel
|
|||
|---|---|---|---|
|
#18+
В struts-config прописать validate="false", а из action вызвать метод someForm.validate и если errors.notEmpty(), то if (!errors.isEmpty()) { saveErrors(request, errors); return mapping.findForward("edit"); } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2005, 16:27 |
|
||
|
(Struts) validate & cancel
|
|||
|---|---|---|---|
|
#18+
Посмотрел одним глазком. Нет времени. Зайду в понедельник, попробую разобраться. Просто что-то тут накручено не туда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2005, 00:06 |
|
||
|
(Struts) validate & cancel
|
|||
|---|---|---|---|
|
#18+
FarlenВ struts-config прописать validate="false", а из action вызвать метод someForm.validate и если errors.notEmpty(), то if (!errors.isEmpty()) { saveErrors(request, errors); return mapping.findForward("edit"); } Спасибо. Это вариант - пока так и сделал. Но наверное есть возможность это как-то почеловечески сделать? Или такая уж у стратсов политика? ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2005, 09:00 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=33388572&tid=2150924]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
184ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 501ms |

| 0 / 0 |
