2009-08-23 3 views
0

Я использую JSF-facelets.jar 1.1.14 (я скачал его here) и TOMCAT 6.0JSF тег не найден

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-код? ??

ответ

1

Правильный способ достижения этого в 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

harto, большое спасибо за этот ответ, который работает. Кроме того, ваша ссылка очень полезна! –

0

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

что вы ожидали, что оно будет переведено?

+0

У меня есть мой вопрос. Может быть, вы поймете это лучше. Я полагаю, что должен сгенерировать этот HTML-код «

24/08/2009

». Не в моем случае, и это проблема! сгенерировать этот код HTML:

Смежные вопросы