2009-06-09 2 views
1

Мой импорт:
JSTL тег не переводим в HTML

xmlns:c="http://java.sun.com/jstl/core" 
    xmlns:fmt="http://java.sun.com/jsp/jstl/fmt" 

Мой JSTL Код:

<h:outputLabel value="YESS" > 
    <fmt:formatNumber value="0.25" type="percent"></fmt:formatNumber> 

HTML сгенерированный код:

<label>YESS</label> 
    <fmt:formatNumber value="0.25" type="percent"></fmt:formatNumber> 

сгенерированный код шоу что JSTL co re переводится в HTML.
Но JSTL «fmt» не переводится в HTML.





Дополнительная информация:

<fmt:ErrorInThisFunctionName value="0.25" type="percent" /> ===> generate an error 
  • Я работаю на Tomcat 6

ответ

2

Что сказал Пьер, а также,

Попробуйте xmlns:fmt="http://java.sun.com/jstl/fmt"

Проверить 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/web-app_2_4.xsd"> 
1

предложение:

  • проверьте файл TLD.
  • проверить заголовок (DTD, атрибуты) в вашем web.xml
1

Если вы используете обычный синтаксис JSP, а не синтаксис на основе XML, попробуйте использовать

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

URI для основного taglib недействителен. Он должен быть http://java.sun.com/jsp/jstl/core в соответствии с его TLD, с /jsp. URI для формата taglib отлично подходит для своего TLD.

Работает ли основной taglib в любом случае? Если это не работает, значит, это просто означает, что JSTL не установлен вообще. По умолчанию Tomcat не поставляется с JSTL. Вам необходимо загрузить jstl-1.2.jar и поместить его в /WEB-INF/lib вашего веб-клиента. Это все. Do не извлекает JAR-файл и помещает его свободное содержимое (файлы TLD и т. Д.) В путь к классам, как предлагают некоторые плохие учебные пособия. Это только ухудшится. Если вы уже это сделали, вы должны очистить. Только достаточно положить JSTL JAR в classpath.

0

У меня была такая же проблема, в которой я бы в основном объявлял, и она не будет переведена в HTML (в основном вместо печати переменной весь текст c: out был напечатан в источнике html). Я забыл добавить эту зависимость в мавена:

 <dependency> 
      <groupId>taglibs</groupId> 
      <artifactId>standard</artifactId> 
      <version>1.1.2</version> 
     </dependency> 

(Если XML не печатает, то идентификатор_группы являются библиотеками тегов, то артефакт является стандартным, а версия 1.1.2