2009-06-09 70 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公司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-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
檢查的web.xml

如果您使用的是正常的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" 

核心taglib的URI無效。根據其TLD應爲http://java.sun.com/jsp/jstl/core,其中/jsp。根據它的TLD格式taglib的URI是完全正確的。

核心taglib是否以任何方式工作?如果它不能正常工作,那就意味着JSTL根本就沒有安裝。 Tomcat默認不附帶JSTL。您需要下載jstl-1.2.jar並將其放入您的web應用的/WEB-INF/lib。就這樣。如而不是提取JAR文件,並將其鬆散的內容(TLD文件等)放在類路徑中,如一些可憐的教程所示。它只會變得更糟。如果你已經這樣做了,你應該清理。 只有將JSTL JAR放在classpath中就足夠了。

0

我有完全相同的問題,我基本上會聲明,它不會被翻譯成HTML(基本上,而不是打印變量,整個C:輸出打印在HTML源)。我忘了這種依賴性增加行家:

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

(如果XML不打印,則是的groupId標記庫,在artifactId的是標準的,版本爲1.1。2