2012-04-18 5 views
1

Я использую JSP 2.1 в веб-приложении Java EE.JSP c: инструкция не обрабатывается

Моя страница JSP-то вроде этого:

<html><body> 
<% String myText = (String) request.getAttribute("myText"); %> 
<h1><c:out value="${myText}"/></h1> 
</body></html> 

если MYTEXT = "ч & б", то генерируется HTML страница:

<html><body> 
<h1><c:out value="h & b"/></h1> 
</body></html> 

так, то с: инструкции из имеет не обрабатывается.

Замена первой линии:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:c="http://java.sun.com/jsp/jstl/core"> 

не помогает; все та же проблема.

Если добавить следующую строку в верхней части страницы JSP:

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

или это один:

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

Я получаю следующее сообщение об ошибке: Нет библиотеки тегов не может быть найден с этим URI. Возможными причинами могут быть ошибки в URI или ошибки при анализе файла .tld.

В чем проблема?

ps: И какую документацию я должен прочитать об этом? Я читаю спецификацию JSP 2.1, но я не нахожу ответа. http://download.oracle.com/otn-pub/jcp/jsp-2.1-fr-eval-spec-oth-JSpec/jsp-2_1-fr-spec.pdf

ответ

1

Вам необходимо иметь реализацию JSTL в вашем пути к классу. Вы можете, например, загрузить an implementation from Apache.

+0

И да, строка объявления taglib должна быть там. Правильным является '<% @ taglib uri =" http://java.sun.com/jstl/core "prefix =" c "%>' –

+0

отлично, добавив <% @ taglib uri = "http: // java.sun.com/jsp/jstl/core»префикс = "с" %> и JSTL зависимость к pom.xml работает правильно \t JSTL \t JSTL \t 1,2

+0

декларация TagLib для jstl1.1 + является http://java.sun.com/jsp/jstl/core –