Bonjour,

Je souhaiterais afficher du texte sur ma page JSP.
Donc lorsque je fais cela dans mon index.jsp :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<% out.print("Hello World"); %>
Ça fonctionne correctement.


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 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<% Affichage.afficheTexte(); %>
Mais dans les 2 cas j'obtiens une erreur HTTP 500, avec le message d'erreur suivant :
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.