2017-06-28 5 views
1

Ich habe Code in etwa so, wie kann ich in Wicket 6.x oder 7.x schreiben 1.setRedirect (true) in Wicket 6.x oder 7.x

catch (Exception e) { 
       log.error("**** Exception ***********"); 
       setRedirect(true); 
       log.errorException(e); 
       showErrorMsg(getLocalizer().getString("request.process.page.error", this)); 
      } 

2.

if (admin != null && admin.getId().equalsIgnoreCase(aId) == false) { 

        log.error("UserId do not match"); 
        setRedirect(true); 
        showErrorMsg(getLocalizer().getString("internal.user.gccverf.auth.failed", this)); 

       } 

ich habe Methode wie diese

private void showErrorMsg(String errorMsg) { 
      setResponsePage(new ErrorPage(this.getPage(), getLocalizer().getString("label.applicaiton.error.page", this), errorMsg)); 
     } 

Antwort

0

Nur setRedirect(true); entfernen.

Eine andere Möglichkeit ist, sie zu ersetzen: setResponsePage(getPage().getPageClass(), getPage().getPageParameters()). Dadurch wird Wicket angewiesen, eine neue Instanz der aktuellen Seitenklasse zu erstellen und sie zu rendern. In diesem Fall ist es wichtig, dass showErrorMsg()Session#error() verwendet, ansonsten ist der Fehler für die nächste Seite nicht verfügbar.

+0

Sie wollen so sagen? catch (Ausnahme e) { \t log.error ("**** Ausnahme ************"); \t \t \t \t setResponsePage (getPage(). GetPageClass(), getPage(). GetPageParameters()); log.errorException (e); \t \t \t \t showErrorMsg (getLocalizer(). GetString ("request.process.page.error", dies)); \t \t \t} –

+0

martin wollte sagen 'getSession() Fehler (Ihr Fehler msg.),' Sie müssen versuchen, wie diese – soorapadman

+0

Sie meinen catch (Exception e) { \t \t \t \t log.error (“ **** Ausnahme *********** "); \t \t \t \t setResponsePage (.. GetPage() getPageClass(), getPage() getPageParameters()); log.errorException (e); \t \t \t \t getSession(). Error ("request.process.page.error"); \t \t \t \t \t \t \t} –

Verwandte Themen