2009-06-09 10 views
1

Meine Importe übersetzen:
JSTL-Tag nicht in HTML

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

Mein JSTL Code:

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

HTML-Code generiert:

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

Der generierte Code anzeigen dass die JSTL co re ist in HTML zu übersetzen.
Aber die JSTL "fmt" ist nicht in HTML zu übersetzen.





Weitere Informationen:

<fmt:ErrorInThisFunctionName value="0.25" type="percent" /> ===> generate an error 
  • ich auf Tomcat arbeiten 6

Antwort

2

Was Pierre sagte, und auch

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

prüfen web.xml für

<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

Vorschlag:

  • Ihre TLD-Datei überprüfen.
  • überprüfen Sie Ihre Header (DTD, Attribute) in web.xml
1
Versuchen

Wenn Sie die normale JSP-Syntax und nicht die XML-basierte Syntax verwenden, versuchen Sie es mit

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

Der URI für Core Taglib ist ungültig. Es sollte http://java.sun.com/jsp/jstl/core gemäß seiner TLD sein, mit /jsp. Der URI für das format taglib ist laut seiner TLD vollkommen in Ordnung.

Funktioniert die Kern-Taglib in irgendeiner Weise? Wenn es nicht so gut funktioniert, bedeutet das einfach, dass JSTL überhaupt nicht installiert ist. Tomcat wird standardmäßig nicht mit JSTL ausgeliefert. Sie müssen jstl-1.2.jar herunterladen und in /WEB-INF/lib Ihrer Webanwendung einfügen. Das ist alles. Do nicht extrahieren Sie die JAR-Datei und legen Sie ihre losen Inhalte (TLD-Dateien usw.) in den Klassenpfad, wie einige schlechte Tutorials suggerieren. Es wird nur noch schlimmer werden. Wenn Sie dies bereits getan haben, sollten Sie aufräumen. Nur das JSTL JAR im Klassenpfad setzen ist genug.

0

Ich hatte genau das gleiche Problem, wo ich im Grunde erklären würde und es würde nicht in HTML übersetzt werden (im Grunde, anstatt die Variable zu drucken, wurde das gesamte c: out in der HTML-Quelle gedruckt). Ich hatte diese Abhängigkeit zu Maven hinzuzufügen vergessen:

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

(Wenn das xml nicht gedruckt wird, die groupId Taglibs ist, die artifactId Standard ist, und die Version 1.1.2