2009-06-09 9 views
1

Mes importations:
tag JSTL pas traduire en HTML

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

Mon Code JSTL:

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

HTML généré code:

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

Le code généré show que le co JSTL re est traduire en HTML.
Mais le JSTL "fmt" n'est pas traduit en HTML.





Plus d'informations:

<fmt:ErrorInThisFunctionName value="0.25" type="percent" /> ===> generate an error 
  • Je travaille sur Tomcat 6

Répondre

2

Ce que dit Pierre, et aussi,

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

Vérifier web.xml pour

<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

suggestion:

  • vérifier votre fichier TLD.
  • vérifier votre en-tête (DTD, attributs) dans votre web.xml
1

Si vous utilisez la syntaxe JSP normale et non la syntaxe XML, essayez d'utiliser

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

L'URI pour le taglib principal est invalide. Il devrait être http://java.sun.com/jsp/jstl/core selon son TLD, avec /jsp. L'URI pour le format taglib est parfaitement bien selon son TLD.

Le taglib de base fonctionne-t-il de quelque manière que ce soit? Si cela ne fonctionne pas, cela signifie simplement que JSTL n'est pas installé du tout. Tomcat n'est pas livré avec JSTL par défaut. Vous devez télécharger jstl-1.2.jar et le mettre en /WEB-INF/lib de votre webapp. C'est tout. Ne pas extrait le fichier JAR et de mettre son contenu en vrac (fichiers TLD et ainsi de suite) dans le classpath comme le suggère certains didacticiels pauvres. Cela ne fera qu'empirer. Si vous l'avez déjà fait, vous devriez nettoyer. Seul le mettant le JAR JSTL dans classpath est suffisant.

0

J'ai eu exactement le même problème où je déclarerais fondamentalement et il ne serait pas traduit en HTML (fondamentalement, au lieu d'imprimer la variable, le c: out entier a été imprimé dans la source html). Je l'avais oublié d'ajouter cette dépendance à maven:

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

(Si le xml n'imprime pas, le groupId est taglibs, artifactId est standard et la version est 1.1.2