Avatar billede fredand Forsker
23. januar 2013 - 21:31 Der er 2 kommentarer og
1 løsning

How to forward from a validate in struts

Hello guys!

Writing in english because I'm from sweden.
(I bet you understand my english better then my danish)

I'm looking for a best practice for error handling during validation in Struts.

Suppose you extend ActionSupport and in the validate you perhaps doing some DB fetching and that fetching went wrong. Then I would like to forward to some general error page. But I can not find an example.

Suppose you do it like:

public void validate()
    {
          try
          {
                    //Something goes very wrong
          }   
        catch(Exception e)
        {
            //Then forward to a general errorpage
        }
    }

Since validate do not return any String (for forwarding) like execute, how do I forward the response to anything else then gong in to execute?

Or should I have a boolean "toGlobalError" member and set to true in the catch and in execute check that member first?

If you guys got any ideas please let me know!
Best regards
/Fredrik
Avatar billede arne_v Ekspert
03. februar 2013 - 03:29 #1
I would move the test to execute - validate is for field input validations.
Avatar billede fredand Forsker
08. marts 2013 - 17:11 #2
Hello Arne!

Thanks for your reply!
I have done alot of thoughts about this and I think you are right.
At last I see no other solution.
I need to move my test to the execute method.

Please leave a svar so we can cloase this one!
Best regards
Fredrik
Avatar billede arne_v Ekspert
08. marts 2013 - 17:49 #3
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester