2017-06-28 5 views
1
wicket

J'ai le code quelque chose comme ça, alors comment puis-je écrire 6.x ou 7.x wicket 1.setRedirect (true) 6.x ou 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)); 

       } 

J'ai méthode comme celle

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

Répondre

0

Il suffit de retirer setRedirect(true);. Un autre moyen consiste à le remplacer par: setResponsePage(getPage().getPageClass(), getPage().getPageParameters()). Cela indiquera à Wicket de créer une nouvelle instance de la classe de la page en cours et de le rendre. Dans ce cas, il est important que showErrorMsg() utilise Session#error() sinon l'erreur ne sera pas disponible pour la page suivante.

+0

Vous voulez dire comme ça? Catch (Exception e) { \t log.error ("**** Exception ***********"); \t \t \t \t setResponsePage (getPage(). GetPageClass(), getPage(). GetPageParameters()); log.errorException (e); ShowErrorMsg (getLocalizer(). GetString ("request.process.page.error", this)); \t \t \t \t \t \t \t \t} –

+0

martin voulait dire 'getSession() erreur (erreur de votre msg).' Vous devez essayer comme ça – soorapadman

+0

Vous voulez dire catch (Exception e) { \t \t \t \t log.error (» **** Exception *********** "); \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} –