2009-05-10 31 views
14

Tôi đã kiểm tra ra Spring MVC hướng dẫn và sao chép mã JSP nhỏ này từ đó:UST taglib của JSTL đã lỗi thời?

<%@ 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ó một chuỗi thiết lập cho tin nhắn và thư mục c: ra thẻ chỉ in đen

$ { message}

tôi đã đánh đầu của tôi trong một thời gian cho đến khi tôi nhớ đến một vấn đề tôi đã có trước và thay đổi taglib URI để:

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

này giải quyết vấn đề nhỏ của tôi

Một số thời gian trước đây tôi đã có một vấn đề tương tự với XSLT chuyển nhưng trong trường hợp mà tôi đã phải thay đổi từ http://java.sun.com/jstl/xml để http://java.sun.com/jsp/jstl/xml

Theo với link dụ mùa xuân của tôi này nên đã làm việc giống như tôi dán từ hướng dẫn mùa xuân

Câu hỏi là: Bất kỳ ai trong số các bạn biết sự nhầm lẫn URI taglib này được ghi chép ở đâu? Tại sao trong một số trường hợp, tôi nhận phiên bản cuối cùng từ http://java.sun.com/jsp/jstl và trong các phiên bản khác, tôi có phiên bản mới nhất từ ​​http://java.sun.com/jstl

+0

Bạn có thể tìm thấy một cuộc thảo luận về vấn đề này [ở đây] (http://www.mularien.com/blog/2008/04/24/how-to-reference-and-use- jstl-in-your-web-application /). – kgiannakakis

Trả lời

2

Có, URI cho thẻ chú thích đã thay đổi giữa các phiên bản JSTL 1.0 và 1.1. Nếu bạn tình cờ nhận được các ví dụ sử dụng tiêu chuẩn cũ và cố gắng sử dụng chúng với JAR taglib mới, bạn sẽ gặp phải vấn đề này.

2

Nếu bạn vẫn gặp phải lỗi này, nhưng bạn đang tự tay chế tác pom, có thể bạn đã bỏ lỡ thư viện chuẩn. ví dụ: Tôi đã bỏ lỡ

<dependency> 
     <groupId>taglibs</groupId> 
     <artifactId>standard</artifactId> 
     <version>${jstl.version}</version> 
    </dependency> 
Các vấn đề liên quan