Mes variables ne sont pas remplacées par leur valeur
Bonjour,
J'ai découvert hier une toute petite partie de la puissance des JSTL et ça devrait bien m'aider dans mon appli. J'ai des POJO mappés sur une BD avec Hibernate et j'ai plus qu'à faire de l'affichage et du remplissage. J'ai fait un petit test mais mes variables ne sont pas remplacées par leur valeur.
J'utilise Tomcat que je lance depuis Eclipse. J'ai bien ajouté toutes les librairies dans mon java build path. Voici mon arborescence :
WEB-INF/
.....web.xml
.....LIB/
..........mes libs Hibernate
..........jstl.jar
..........standard.jar
.....SRC/
..........monpkg/
...............ServletTest.java
WEB/
.....test.jsp
Et le contenu des fichiers
web.xml :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>test</display-name>
<servlet>
<servlet-name>test</servlet-name>
<servlet-class>esp_client.metier.ServletTest</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>test</servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>
</web-app> |
test.jsp
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <%@ page contentType="text/html; charset=iso-8859-1" language="java" import="" errorPage="" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>test</title>
</head>
<body>
<%
String test = (String) request.getAttribute("test");
%>
<p>Variable JSTL - ${requestScope['test']}</p>
<p>Scriplet - <%= test %></p>
</body>
</html> |
ServletTest.java
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| protected void doGet(HttpServletRequest req, HttpServletResponse rep)
throws ServletException, IOException {
String test = "variable de test";
// Ajout des objets nécessaire au JSP à la requête
req.setAttribute("test", test);
// Passage des paramètres à la partie présentation
ServletContext sc = getServletContext();
RequestDispatcher rd = sc.getRequestDispatcher("/web/test.jsp");
rd.forward(req, rep);
} |
Voilà. Quand je lance ma ServletTest, j'obtiens bien le code de ma variable en passant par les scriplet mais pas avec JSTL.
Je n'ai pourtant pas de message d'erreur, j'ai du oublier un truc quelque part mais je ne trouve pas où.
Merci pour votre aide !!!