IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

Managed bean: communication java class/page jsp


Sujet :

Servlets/JSP Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    136
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2005
    Messages : 136
    Par défaut Managed bean: communication java class/page jsp
    Salut à tous,

    J'ai une page web jsp et le bean associé java. Si je fais un scriptlet j'ai accès à des variables comme session, request et response. Ca permet des trucs comme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <% 
    session.setAttribute("A","B");
    response.sendRedirect("mapage.jsp");
    %>
    Seulement pour bien séparer mon affichage web de mes algorithmes, je voudrais gérer les attributs de session et les redirect dans le bean associé du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    HttpServletRequest request = (HttpServletRequest) context.getExternalContext().getRequest();
    HttpServletResponse response = (HttpServletResponse) context.getExternalContext().getResponse();
    StandardSessionFacade session = (StandardSessionFacade) context.getExternalContext().getSession(true);
    if(ok) {
       response.sendRedirect("ok.jsp");
       request.setAttribute("Test", "Abc");
       return "Next";
    } else {
       response.sendRedirect("pasok.jsp");
       request.setAttribute("Test", "Abd");
       return null;
    }
    Mais le sendRedirect ne marche pas (ça ne marche que si je le fais comme scriptlet dans le jsp):

    type Rapport d'exception

    message

    description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.

    exception

    javax.servlet.ServletException: Impossible d'utiliser faire-suivre (forward) après que la réponse ait été envoyée
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:277)
    En plus je ne sais pas s'il est possible de récupérer la valeur de retour d'une méthode du managed bean dans la page jsp. Alors je me demande si finalement je fais bien d'utiliser un managed bean et pas tout mettre dans des scriptlets jsp ?

    Merci pour votre aide

  2. #2
    Membre éprouvé Avatar de totoche
    Inscrit en
    Janvier 2004
    Messages
    1 090
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 090
    Par défaut
    Bonsoir,
    simplement je ferai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    String page;
    if(ok) {
       page="ok.jsp";
    } else {
        page="pasok.jsp";
       request.setAttribute("Test", "Abd");
    }
    response.sendRedirect("page");
    Si tu es intéressé par l'application les "best practices" de conception :"...bien séparer mon affichage web de mes algorithmes ...", tape : java design pattern dans google.
    Bonne lecture

Discussions similaires

  1. Réponses: 5
    Dernier message: 12/08/2012, 18h11
  2. [JSF] plusieurs bean dans le meme page jsp
    Par AmineDev9 dans le forum JSF
    Réponses: 5
    Dernier message: 13/05/2009, 18h40
  3. Réponses: 2
    Dernier message: 18/02/2009, 18h19
  4. inclure une class java dans page jsp
    Par psycho_xn dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 21/06/2007, 17h11
  5. importer une class java dans page jsp
    Par Nemesys dans le forum Servlets/JSP
    Réponses: 14
    Dernier message: 29/03/2007, 22h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo