Bonjour,
Je souhaiterais afficher du texte sur ma page JSP.
Donc lorsque je fais cela dans mon index.jsp :
Ça fonctionne correctement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part <% out.print("Hello World"); %>
Par contre je souhaiterais afficher ce out.print("Hello World"); à partir d'une classe quelconque de mon projet, mais cela m'indique une erreur :
Je décide donc de créer un nouveau projet de Test, avec la classe suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 public class Affichage { public static void afficheTexte(){ System.out.print("Hello World"); } }
Puis avec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 import java.io.PrintWriter; public class Affichage { public static void afficheTexte(){ PrintWriter out = null; out.print("Hello World"); } }
Pour enfin effectuer un affichage avec cette ligne de code dans la JSP :
Mais dans les 2 cas j'obtiens une erreur HTTP 500, avec le message d'erreur suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part <% Affichage.afficheTexte(); %>
Etat HTTP 500 -
type Rapport d''exception
message
description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.
exception
org.apache.jasper.JasperException: Impossible de compiler la classe pour la JSP:
Une erreur s'est produite à la ligne: 11 dans le fichier jsp: /index.jsp
Affichage cannot be resolved
8: </head>
9: <body>
10:
11: <% Affichage.afficheTexte(); %>
12:
13: </body>
14: </html>
Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:102)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:331)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:457)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:378)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
Comment faire pour afficher du texte à partir d'une méthode de sa classe ?
Je précise 2 points :
- Je n'ai pas de classe héritant de Servlet dans le projet Test.
- Je n'ai pas créé de fichier web.xml dans WEB-INF.
Mon but c'est d'effectuer de l'affichage dynamique par la suite (tout en respectant un modèle MVC, donc pas de if/else ou boucles dans la vue JSP), c'est pour cela que je procède ainsi, comme je le faisais en PHP.
Je vous remercie pour votre aide.![]()
Partager