JSTL тег не переводится в HTML - PullRequest
1 голос
/ 09 июня 2009

Мой импорт:

  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 переведено в HTML.
Но JSTL "fmt" не переводится в HTML.





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

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

Ответы [ 5 ]

2 голосов
/ 09 июня 2009

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

Попробуйте 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 голос
/ 10 июня 2009

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

<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt" %>
1 голос
/ 09 июня 2009

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

  • проверьте файл TLD.
  • проверьте ваш заголовок (DTD, атрибуты) в вашем web.xml
0 голосов
/ 17 июня 2011

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

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

(Если xml не печатается, groupId - это taglibs, artifactId - стандартный, а версия - 1.1.2

0 голосов
/ 19 февраля 2010
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 вашего веб-приложения. Это все. Не извлеките файл JAR и поместите его свободное содержимое (файлы TLD и т. Д.) В путь к классам, как предлагают некоторые плохие учебники. Будет только хуже. Если вы уже сделали это, вы должны очистить. Только достаточно поместить JAR-файл JAR в classpath.

...