2009-05-10 8 views
14

J'ai été vérifier tutoriel Spring MVC et copier ce petit code JSP à partir de là:JSTL taglib URI est obsolète?

<%@ page session="false"%> 
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 

<html> 
    <head><title>Training, Inc.</title></head> 
    <body> 
     <h2><c:out value="${message}" /></h2> 
    </body> 
</html> 

Il y a une chaîne définie pour un message et le répertoire c: out étiquette seulement imprime littéralement

$ { message}

Je frappais ma tête pendant un certain temps jusqu'à ce que je me suis souvenu d'une question que j'avais avant et changé l'URI taglib à:

<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %> 

Ceci a résolu mon petit problème

Il y a quelque temps j'ai eu un problème similaire à la transformation XSLT mais dans ce cas, je devais changer de http://java.sun.com/jstl/xml à http://java.sun.com/jsp/jstl/xml

Selon ce link mon exemple de printemps devrait 'ai travaillé comme je l'ai collé du tutoriel de printemps

La question est: Quelqu'un d'entre vous sait où est cette confusion de URI taglib documentée? Pourquoi dans certains cas j'ai obtenu la dernière version de http://java.sun.com/jsp/jstl et dans d'autres j'ai la dernière version de http://java.sun.com/jstl

+0

Vous pouvez trouver une discussion à propos de ce problème [ici] (http://www.mularien.com/blog/2008/04/24/how-to-reference-and-use- jstl-dans-votre-application-web /). – kgiannakakis

Répondre

2

Oui, il est bien connu que l'URI pour taglibs a changé entre les versions 1.0 et 1.1 de JSTL. S'il vous arrive d'obtenir des exemples qui utilisent l'ancien standard et essayez de les utiliser avec le nouveau taglib JAR, vous aurez ce problème.

2

Si vous obtenez toujours cette erreur, mais que vous créez votre pom à la main, vous avez probablement raté la bibliothèque standard. par exemple. J'avais manqué

<dependency> 
     <groupId>taglibs</groupId> 
     <artifactId>standard</artifactId> 
     <version>${jstl.version}</version> 
    </dependency>