Тег JSF не найден - PullRequest
       30

Тег JSF не найден

0 голосов
/ 24 августа 2009

Я использую JSF-facelets.jar 1.1.14 (я скачал его здесь ) и 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 ]

1 голос
/ 24 августа 2009

Правильный способ добиться этого в JSF - использовать конвертеры. Используйте тег <h:outputText> примерно так:

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

Вы обнаружите, что не все теги JSTL поддерживаются в JSF. Facelets предоставляют ограниченную поддержку базовой библиотеки тегов (forEach и т. Д.), Но они могут работать не так, как вы ожидаете. Эта статья содержит хорошее резюме: http://drewdev.blogspot.com/2008/03/build-time-vs-render-time.html

0 голосов
/ 24 августа 2009

это тег jstl. это не нужно переводить. он скомпилирован из jsp в сервлет.

во что вы ожидали "перевести"?

...