找不到JSF标记

时间:2009-08-23 22:33:46

标签: jsf jstl tags translate

我使用JSF-facelets.jar 1.1.14(我下载了它here)和tomcat 6.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代码???

2 个答案:

答案 0 :(得分:1)

在JSF中实现这一目标的正确方法是使用转换器。像这样使用<h:outputText>标记:

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

您会发现JSF中并不支持所有JSTL标记。 Facelets确实为核心标记库(forEach等)提供了有限的支持,但它们可能无法按照您期望的方式工作。本文提供了一个很好的总结:http://drewdev.blogspot.com/2008/03/build-time-vs-render-time.html

答案 1 :(得分:0)

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

你期望它被“翻译”成什么?