Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > замена tagx для JSF


Автор: inxaoc 26.3.2008, 05:21
Здравствуйте!
В JSP и Struts мы могли спокойно использовать такие простые штуки как собственные теги, для чего нужно было написать tag файл и юзать где хошь. В JSF использование tag(tagx)-файлов не работает полноценно, в первую очередь из-за появления EL (типа #{var}). Т.е. если ты в тэг передаешь атрибут  <jsp:directive.attribute name="title" required="true" type="java.lang.String"/>  то элементарно использовать его в коде вида <h:outputText value="#{title}"/> ты не можешь! Причем так - <h:outputText value="${title}"/> - ты тоже не можешь юзать тэги jsf.
Вообщем беда с использованием стандартного подхода упаковывания части содержимого страница в tagx файл - о чем кстати написано вот здесь - http://osdir.com/ml/jakarta.myfaces.user/2005-08/msg00038.html
Цитата

We would want to write the following myTag.tagx file:
> >>
> >> <?xml version="1.0" encoding="ISO-8859-1" ?>
> >> <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0"
> >> xmlns:h="http://java.sun.com/jsf/html " >
> >>
> >> <jsp:directive.attribute name="handler" type="java.lang.Object"
> >> required="true" />
> >> <jsp:directive.attribute name="propertyName"
> >> type="java.lang.String "
> >> required="true" />
> >>
> >> <h:outputText id="${propertyName}_label"
> >> value="#{handler[propertyName + 'Label']}" />
> >> <h:inputText id="${propertyName}" value
> >> ="#{handler[propertyName]}" />
> >> <h:message id="${propertyName}_messages" for="${propertyName}" />
> >> </jsp:root>
> >>
> >> and use it in the calling page as
> >>
> >> <q:myTag handler="#{myHandler}" propertyName="myProperty" />
> >>
> >> The above sadly doesn't work. To start with, it wouldn't access the
> >> managed bean facility.

Кроме того беда еще и с использованием некоторых стандартных тегов тоже есть!
Конечно же есть возможность самому писать тэги, но просмотрев мельком статью
http://www-128.ibm.com/developerworks/java/library/j-jsf4/index.html, я понял, что это БЕДА просто какая-то! И быстро запустить проект используя JSF (а точнее myfaces) не получается! Вообщем может кто-нить знает способ просто создавать/упаковывать какую то часть содержимого страницы, создавать в конце концов компоненты/шаблоны. но более менее простым способом? А не как описано в статье?

Автор: necromancer 26.3.2008, 14:49
use facelets
http://andrewfacelets.blogspot.com/2006/06/creating-composite-controls-with-jsf.html

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)