Pergunta

As minhas importações:

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

Meu código JSTL:

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

HTML código gerado:

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

O show código gerado que o núcleo JSTL é traduzir em HTML.
Mas a JSTL "fmt" não é traduzir em HTML.

Mais informações:

    <fmt:ErrorInThisFunctionName value="0.25" type="percent" />    ===> generate an error
  • Eu trabalho em Tomcat 6
Foi útil?

Solução

O Pierre disse, e também,

Tente xmlns:fmt="http://java.sun.com/jstl/fmt"

Verifique web.xml para

<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">

Outras dicas

sugestão:

  • verificar o seu arquivo TLD.
  • verificar o seu cabeçalho (DTD, atributos) no seu web.xml

Se você estiver usando a sintaxe normal, JSP e não a baseada em XML sintaxe tentativa usando

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

O URI para taglib núcleo é inválido. Deve ser http://java.sun.com/jsp/jstl/core como por sua TLD , com /jsp. O URI para o formato taglib é perfeitamente bem como por sua TLD .

Será que o núcleo de trabalho taglib de alguma forma? Se ele não funciona bem, então ele simplesmente significa que JSTL não está instalado em tudo. O Tomcat não ser fornecido com JSTL por padrão. Você precisa baixar jstl-1.2.jar colocá-lo em /WEB-INF/lib do seu webapp. Isso é tudo. não extrair o arquivo JAR e colocar seu conteúdo soltas (arquivos TLD e assim por diante) no classpath como alguns tutoriais pobres sugere. Ele só vai piorar. Se você já fez isso, você deve limpeza. Apenas colocar o JAR JSTL no classpath é suficiente.

Eu tinha exatamente o mesmo problema que eu seria basicamente declarar e que não iria se traduzido em HTML (basicamente, em vez de imprimir a variável, o c inteira: fora foi impresso em HTML). Eu tinha esquecido de adicionar essa dependência de Maven:

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

(Se o XML não for impressa, o groupId é taglibs, o artifactId é padrão, e a versão é 1.1.2

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top