2009-05-10 17 views
14

Ho controllato fuori Spring MVC tutorial e copiato questo piccolo codice JSP da lì:L'URI di tagli di JSTL è obsoleto?

<%@ 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> 

C'è una stringa di set per il messaggio e il c: out tag appena stampe letteralmente

$ { messaggio}

sono stato colpito la mia testa per un po 'fino a quando mi sono ricordato di un problema che avevo prima e cambiato il taglib URI:

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

Questo risolto il mio piccolo problema

Qualche tempo fa ho avuto un problema simile con XSLT trasformazione ma in quel caso ho dovuto cambiare da http://java.sun.com/jstl/xml a http://java.sun.com/jsp/jstl/xml

Secondo questo link il mio esempio di primavera dovrebbe Ho lavorato proprio come ho incollato dal tutorial di primavera

La domanda è: Qualcuno di voi sa dove è documentata tutta questa confusione di URI tagliu? Perchè in alcuni casi ho ricevuto l'ultima versione da http://java.sun.com/jstl

+0

È possibile trovare una discussione su questo problema [qui] (http://www.mularien.com/blog/2008/04/24/how-to-reference-and-use- JSTL-in-your-web-application /). – kgiannakakis

risposta

2

Sì, è risaputo che l'URI per i tagli è cambiato tra le versioni JSTL 1.0 e 1.1. Se ti capita di ottenere degli esempi che usano il vecchio standard e prova ad usarli con il nuovo taglib JAR avrai questo problema.

2

Se stai ancora ricevendo questo errore, ma stai costruendo a mano il tuo pom, probabilmente hai perso la libreria standard. ad es. Mi sarei perso

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