J'aurais besoin pour mon appli d'afficher des messages box. Ca me faciliterait la vie!!! Mais je ne trouve pas comment faire et je ne sais meme pas si c'est possible!
J'aurais besoin pour mon appli d'afficher des messages box. Ca me faciliterait la vie!!! Mais je ne trouve pas comment faire et je ne sais meme pas si c'est possible!
Pas de messages privés sur des questions techniques ! Je suis trop nul pour vous aider
Les popup sont créés par JOptionPane dont voici les méthodes les plus utilisées:
Fait un tour sur le site de sun pour avoir plus d'info à la page JOptionPane
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 JOptionPane.showConfirmDialog(...); JOptionPane.showInputDialog(...); JOptionPane.showMessageDialog(...); JOptionPane.showOptionDialog(...);
ca marche aussi dans les JSP et Servlet ? A quoi correspondent les parametres?
Pas de messages privés sur des questions techniques ! Je suis trop nul pour vous aider
Je ne saurais te répondre pour les JSP et Servlet mais a priori oui, il ne devrait pas y avoir de problème. Si quelqu'un peut confirmer (ou infirmer) cela...
Pour les paramètres, les plus courants sont (à passer dans l'ordre suivant):
Après, les autres paramètres dépendent du type de popup, tu as le type par exemple le type d'icone affiché, le type et le nombre des boutons affichés...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Component parentComponent //la frame/le panel parent de ta popup Object message // ton message, un String String title //no comment
Le mieux, c'est d'aller voir par toi même sur le site de sun pour consulter l'aide sur les JOptionPane et voir ce dont tu as vraiment besoin
Salut,
En JSP-Servlet tu n'as pas trop le choix : les message box sont affichées par du code client, donc nécessairement par du javascript.
Autrement dit il faut insérer dans tes JSP le code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 //du code java... String maVariable = "toto"; %> <script language="javascript"> alert("<%= toto %>"); </script> <% //suite du code java...
bon encore un petit soucis, quand je met :
dans une de mes servlet, ca marche. Mais dès que je mets ca :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3java.io.PrintWriter out = resp.getWriter(); out.println("<script language='javascript'>alert('le matériel n° "+ num +" a été enregistré avec succès ! ');</script>");
la boite de dialogue n'apparait plus... vous savez pourquoi?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8java.io.PrintWriter out = resp.getWriter(); out.println("<script language='javascript'>alert('le matériel n° "+ num +" a été enregistré avec succès ! ');</script>"); HttpSession session = req.getSession(); ServletContext context = getServletContext(); context.getRequestDispatcher("NewMat.jsp").forward(req,resp);
Pas de messages privés sur des questions techniques ! Je suis trop nul pour vous aider
C'est parce que tu écrases ta réponse (ton "<script>....</script>") quand tu fais le forward.
tu peux également utiliser une applet qui communique avec ta servlet.
à ce moment là tu peux utiliser les méthodes JOptionPane.showMessageDialog(...), ...
c peut être un peu trop complexe pour ce que tu veux faire
je ne peux pas utiliser d'applet...
Sinon quand dois-je faire l'alert? à l'ouverture de la page appelée?
Pas de messages privés sur des questions techniques ! Je suis trop nul pour vous aider
Il suffit d'insérer le code que je t'ai donné dans tes JSP (quasiment n'importe où, du moment que c'est cohérent du point de vue du code HTML). L'alert sera exécuté au moment où le navigateur chargera la page.
oui mais je raffiche une page de saisie. Quand elle s'ouvre pour la premiere fois, je ne veux pas voir le message. Je ne veux le voir que lorsque elle a été validée
Pas de messages privés sur des questions techniques ! Je suis trop nul pour vous aider
Il n'y a pas de miracle : soit tu rediriges vers une JSP qui ne fait qu'afficher l'alert puis redirige (en javascript) vers la page de création, soit tu places le message de confirmation dans la requete depuis ta servlet et tu en testes la présence dans ta JSP :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <% String message = request.getParameter("msg"); if (message != null) { %> <script>alert("<%=message%>");</script> <% } %>
dans ta servlet comment tu envoie msg?
Pas de messages privés sur des questions techniques ! Je suis trop nul pour vous aider
tu fais session.setAttribute("msg",msg); ? ou je dois faire autrement?
Pas de messages privés sur des questions techniques ! Je suis trop nul pour vous aider
Puisque le message est récupéré en paramètre (=> valeur sous forme de String dans la requete) et non pas en attribut, tu dois placer ton message en parametre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 //dans le doGet ou le doPost request.setParameter("msg", "contenu du message);
dans ma servlet j'ai mis ca :
et j'ai un petit message d'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setParameter("msg", "contenu du message"); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 La méthode setParameter(java.lang.String, java.lang.String) n'est pas définie pour le type javax.servlet.http.HttpServletRequest
Pas de messages privés sur des questions techniques ! Je suis trop nul pour vous aider
Au temps pour moi, on ne peut pas ajouter un paramètre à une requête. Il faut donc passer ton message comme un attribut :
Côté Servlet:
Et côté JSP :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 req.setAttribute("msg", "contenu message");
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 if (request.getAttribute("msg") != null) { %> <script> alert("<%= (String) request.getAttribute("msg") %>"); </script> <% }
merci ca marche!!!
Pas de messages privés sur des questions techniques ! Je suis trop nul pour vous aider
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager