未找到JSF标记

未找到JSF标记,jsf,jstl,tags,translate,Jsf,Jstl,Tags,Translate,我使用JSF-facelets.jar1.1.14(我下载了它)和Tomcat6.0 Manifest-Version: 1.0 Ant-Version: Apache Ant 1.7.0 Created-By: 1.5.0_12-b04 (Sun Microsystems Inc.) Implementation-Version: 1.1.14 如果我理解得很好,JSF-facelets.jar=JSF+JSTL+facelets(?) 我的问题是当我使用“fmt”功能时。 此代码

我使用JSF-facelets.jar1.1.14(我下载了它)和Tomcat6.0

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.0
Created-By: 1.5.0_12-b04 (Sun Microsystems Inc.)
Implementation-Version: 1.1.14
如果我理解得很好,JSF-facelets.jar=JSF+JSTL+facelets(?)


我的问题是当我使用“fmt”功能时。

此代码

  <html xmlns="http://www.w3.org/1999/xhtml"
        xmlns:h="http://java.sun.com/jsf/html"
        xmlns:fmt="http://java.sun.com/jstl/fmt">
       <h:outputLabel value="hello" />
       <fmt:formatDate value="${myBean.date}" pattern="dd/MM/yyyy"/>
  </html>

…生成此HTML代码:

  <html>
        <p>hello</p>
        <fmt:formatDate value="${myBean.date}" pattern="dd/MM/yyyy"/>
  </html>

你好




为什么“fmt:formatDate”不能转换成HTML代码?

这是一个jstl标记。它不需要翻译。它是从jsp编译成servlet的


您希望它被“翻译”成什么?

在JSF中实现这一点的正确方法是使用转换器。使用
标记,如下所示:

<h:outputText value="#{myBean.date}">
    <f:convertDateTime pattern="dd/MM/yyyy" />
</h:outputText>


您会发现JSF中并不支持所有JSTL标记。Facelets确实为核心标记库提供了有限的支持(
forEach
等),但它们可能无法按您期望的方式工作。这篇文章提供了一个很好的总结:

我已经编辑了我的问题。也许你会更好地理解它。我想应该会生成这个HTML代码“24/08/2009

”。我的情况不是这样,这是问题所在!生成此HTML代码:harto,非常感谢您的回答。而且你的链接非常有用!