Probs connexions Servlets=>JSP - Java - Programmation
Marsh Posté le 17-08-2005 à 14:10:12
Bon je me réponds tout seul en me traitant gentiement de boulet...
J'avais oublié l'instruction "rd.forward(request, response);"
J'ai néanmoins une autre erreur sur ma jsp qui me laisse un peu perplexe :
org.apache.jasper.JasperException: L'uri absolue: http://java.sun.com/jsp/jstl/core ne peut être résolu dans le fichier web.xml ou dans les fichiers jar déployés avec cette application
Une idée ??
Marsh Posté le 18-08-2005 à 10:47:36
Bah dites donc y'a du monde pour m'aider !!
Bon alors j'arrive kan même à avancer sauf que ma page jsp n'a pas l'air de prendre en compte la boucle forEach sur la liste... En fait toutes les instructions ne sont pas prises en comptes à savoir que la page jsp (voir plus haut) m'affiche un tableau avec les valeurs ${p.civilite}, ${p.nom} etc. écrites telles quelles...
Bon donc je sollicite encore un peu d'aide on sait jamais...
Marsh Posté le 18-08-2005 à 11:56:15
Bouh j'y arrive po !!! Et c'est pas faute d'avoir cherché
Et pis le fait de me répondre à moi même ça m'aide un petit peu psychologiquement mais c'est pas la panacée...
Marsh Posté le 18-08-2005 à 12:10:29
ReplyMarsh Posté le 18-08-2005 à 12:28:42
Heu désolé mais comment k'on fait pour savoir la version du conteneur jsp??
Sinon je pense que oui, vu que j'ai essayé avec cette syntaxe <c:out value="${param.nom}" defaults="iconnu"/> et que ça n'a rien changé...
Marsh Posté le 18-08-2005 à 12:32:44
jsp2 : à partir de tomcat5
et ton uri de jstl est correcte, uniquement dans ce cas. ils l'ont changée... avant, donc pour du jsp1.x, elle etait euh, differente.
Marsh Posté le 18-08-2005 à 12:59:09
Heu je pense pas avoir tout exactement comprit mais puisque je travaille avec tomcat 5.5, oui je suis bien sur jsp2...
Sinon, j'ai dans mon WEB-INF, un répertoire tld qui contient le fichier c.tld... J'ai aussi implémenté mon web.xml comme ceci :
<taglib>
<taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri>
<taglib-location>/WEB-INF/tld/c.tld</taglib-location>
</taglib>
Donc c'est pour ça que je vois pas pourquoi ça coince...
Ce qui est dingue c'est que j'ai l'impréssion que ma page jsp fonctionne comme une page html classique, ignorant complétement les EL...
Marsh Posté le 18-08-2005 à 13:02:41
normalement, pas besoin de déclarer cette taglib dans ton web.xml, ni de fournir le tld... essaie un peu de virer tout ça pour voir
Marsh Posté le 18-08-2005 à 13:03:25
ha et pour ta derniere remarque, met un truc à la con au debut de ta jsp, genre <%=2+2%> et vérifie que ça affiche bien 4
Marsh Posté le 18-08-2005 à 13:15:24
Justement, si je ne me tiens qu'à la déclaration dans la jsp avec l'uri et bien j'obtiens la fameuse erreure citée plus haut :
org.apache.jasper.JasperException: L'uri absolue: http://java.sun.com/jsp/jstl/core ne peut être résolu dans le fichier web.xml ou dans les fichiers jar déployés avec cette application...
Sinon j'ai bien vérifié la petite addition et là ça m'affiche bien 4.
Marsh Posté le 18-08-2005 à 13:39:48
ton web.xml est bien déclaré avec le schema de servlet-2.4 ?
Marsh Posté le 18-08-2005 à 13:48:30
Il est déclaré comme ceci (si j'ai bien comprit c'est pas bon puisque j'ai l'impréssion d'être en 2.3)...
<?xml version="1.0" encoding="UTF-8" ?>
<!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>
<servlet>
<display-name>PersonneServlet</display-name>
<servlet-name>PersonneServlet</servlet-name>
<servlet-class>com.exercices.Servlets.PersonneServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>PersonneServlet</servlet-name>
<url-pattern>/ajout</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>PersonneServlet</servlet-name>
<url-pattern>/listePersos</url-pattern>
</servlet-mapping>
</web-app>
Faut que je change 2.3 en 2.4 ??
Marsh Posté le 18-08-2005 à 14:10:10
Me suis renseigné mais même en rajoutant ceci au web.xml
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/we [...] ">
bah ça marche toujours pas...
Marsh Posté le 18-08-2005 à 14:20:38
ReplyMarsh Posté le 18-08-2005 à 16:41:11
Essaye avec la version 5.0 pour voir. Il me semble que la version 5.5 est légèrement différente de la 5.0
Dans tous les cas, ca devrait marcher normalement, bizarre ton affaire...
Marsh Posté le 18-08-2005 à 16:58:23
nookonee a écrit : Il me semble que la version 5.5 est légèrement différente de la 5.0 |
encore heureux
j'utilise la 5.5 en production ici, pas de soucis.
Marsh Posté le 18-08-2005 à 17:03:18
ReplyMarsh Posté le 19-08-2005 à 09:19:56
Bon finalement j'ai pu faire fonctionner cette s***** de jsp...
J'ai bien déclaré le schéma de servlet-2.4 dans le web.xml avec en plus la déclaration de la taglib. Puis j'ai ajouté la tld c.tld dans mon web-inf et là ça marche...
Bizarre en effet que je doive lui fournir la tld... Enfin...
Marsh Posté le 19-08-2005 à 13:56:29
oui, parce qu'a ce que je sais, elle est là par defaut dans ton tomcat et tout moteur de jsp2...
Marsh Posté le 01-11-2005 à 08:52:12
Salut,
essayer de mettre
standard.jar |
dans les lib (common de tomcat ou dans la lib de l'appli) si pas déjà présent.
comme pour les exemples de Jsp2 qui sont fournis avec l'installation de tomcat...
heu, et c'est là qu'on trouve cette lib...
Antoine
Marsh Posté le 17-08-2005 à 13:29:36
Bonjour, bonjour !!
Voilà, donc j'ai une servlet qui reçoit des infos d'un formulaire, enregistre ces données dans une base et en réponse affiche la liste des personnes présentes dans la base à l'aide d'une jsp.
Donc l'enregistrement sur la base se fait sans problèmes mais c'est tout... La jsp avec la liste des personnes n'est pas "appelée"...
Bon voici le code de ma méthode "doPost" :
Et voici la page jsp : "liste.jsp"
<%@ page contentType="text/html; charset=ISO-8859-1" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>Liste des donateurs</title>
</head>
<body>
<p>TEST : </p>
<c:forEach items="${persos}" var="p">
<p>
<table border="1" width="50%">
<tr>
<td><b>Civilité</b></td>
<td>${p.civilite}</td>
</tr>
<tr>
<td><b>Nom</b></td>
<td>${p.nom}</td>
</tr>
<tr>
<td><b>Prenom</b></td>
<td>${p.prenom}</td>
</tr>
<tr>
<td><b>Année</b></td>
<td>${p.annee}</td>
</tr>
<tr>
<td><b>Père</b></td>
<td>${p.pere}</td>
</tr>
<tr>
<td><b>Mère</b></td>
<td>${p.mere}</td>
</tr>
</table>
</p>
</c:forEach>
</body>
</html>
Désolé par avance si je m'exprime mal ou si je n'ai pas donné assez de renseignements...