Just FYI: I changed the location of the custom-tags project to http://sandbox890.googlecode.com/svn/trunk/facelets1-custom-tags/
Regards, Jakob 2010/7/21 Michael Heinen <[email protected]> > Many thanks Jakob, your tag is working well. > > Michael > > Am 21.07.2010 13:06, schrieb Jakob Korherr: > > Hi Michael, >> >> I just created a Facelets 1.1.x custom tags project and adapted the >> SetHandler from MyFaces core 2.0 for Facelets 1.1.x. >> >> You can find the source at >> >> http://jakobk-extensions.googlecode.com/svn/trunk/jsf/facelets1/facelets1-custom-tags/ >> >> Just check it out and use mvn clean install to get the JAR. If you include >> this JAR in your webapp, you can use the custom set tag like this: >> >> <html xmlns="http://www.w3.org/1999/xhtml" >> xmlns:jk="http://facelets.jakobk.at/customtags"> >> >> <jk:set target="#{requestScope}" property="foo" value="fooValue" /> >> >> I hope you can use this solution. >> >> Regards, >> Jakob >> >> 2010/7/21 Jakob Korherr<[email protected]> >> >> >> >>> Hi Michael, >>> >>> >>> "I migrated my app from jsp/tiles to xhtml/facelets successfully in the >>> last 2-3 days." >>> >>> That's great :) >>> >>> Hm, yes. Unfortunately I digged deeper into it and found out that<c:set> >>> is equal to<ui:param> on facelets-1.x, thus the suggested code only >>> works >>> for JSF 2.0. I am sorry, but this means that you will have to find some >>> other tag which accomplishes this or you will have to write your own one >>> (which should not be too hard, because you can take the code from MyFaces >>> core 2.0 SetHandler --> >>> org.apache.myfaces.view.facelets.tag.jstl.core.SetHandler and just >>> register >>> it in your facelets taglib). >>> >>> I hope this helps! >>> >>> Regards, >>> Jakob >>> >>> 2010/7/21 Michael Heinen<[email protected]> >>> >>> Hi Jakob, >>> >>> >>>> I migrated my app from jsp/tiles to xhtml/facelets successfully in the >>>> last 2-3 days. >>>> But your hint is unfortunately not working for me. >>>> >>>> namespace in xhtml file for core tags is: xmlns:c=" >>>> http://java.sun.com/jsp/jstl/core" >>>> Is this the right one or do I have to use xmlns:c=" >>>> http://java.sun.com/jstl/core" (without jsp)? >>>> >>>> jstl-1.2.jar is in the lib folder of my webApp. >>>> >>>> <c:out does not print anything and the set value is also not accessible >>>> via EL in the getter of my bean. >>>> >>>> My current code: >>>> <html xmlns="http://www.w3.org/1999/xhtml" >>>> xmlns:ui="http://java.sun.com/jsf/facelets" >>>> >>>> xmlns:c="http://java.sun.com/jsp/jstl/core"> >>>> >>>> <ui:composition template="templates/main.xhtml"> >>>> <ui:param name="activeTab" value="wb"/> >>>> >>>> <c:set var="foo2" value="bla2" scope="request"/> >>>> >>>> <c:set target="#{requestScope}" property="foo" value="fooValue" /> >>>> >>>> <ui:define name="navigation"> >>>> <ui:include src="/facelets/parts/navigation.xhtml"></ui:include> >>>> </ui:define> >>>> >>>> I try to access foo and foo2 in navigation.xhtml and in a getter called >>>> from navigation.xhtml. >>>> Any Idea what's going wrong here ? >>>> >>>> Greetz, >>>> Michael >>>> >>>> Am 20.07.2010 23:20, schrieb Jakob Korherr: >>>> >>>> Hi Michael, >>>> >>>> >>>>> You can use<c:set> from the JSTL to put the value into the request >>>>> scope. >>>>> Then you can access it in the facelet and also later in the action >>>>> method. >>>>> >>>>> Namespace: xmlns:c="http://java.sun.com/jsp/jstl/core" >>>>> >>>>> <c:set target="#{requestScope}" property="foo" value="fooValue" /> >>>>> >>>>> Regards, >>>>> Jakob >>>>> >>>>> 2010/7/20 Leonardo Uribe<[email protected]> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>>> Hi >>>>>> >>>>>> I checked in deep some days ago ui:param, and it only define the >>>>>> expression >>>>>> when the view is build, but its context is not preserved on other >>>>>> phases. >>>>>> FaceletContext extends from ELContext and override its VariableMapper >>>>>> and >>>>>> FunctionMapper. So in practice, ui:param just add a variable on the >>>>>> variable >>>>>> mapper. but after ui:composition and ui:include ends its processing >>>>>> the >>>>>> variable is just discarded, because the whole VariableMapper wrapper >>>>>> created >>>>>> by this two tags is removed too. >>>>>> >>>>>> regards, >>>>>> >>>>>> Leonardo Uribe >>>>>> >>>>>> 2010/7/20 Michael Heinen<[email protected]> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>> Is it possible to access the value of a facelets ui:param tag in >>>>>>> phase >>>>>>> render response in a backing bean? >>>>>>> I tried to resolve #{activeTab} in MyController.getOnlick() without >>>>>>> success. >>>>>>> >>>>>>> Sample: >>>>>>> 1) Template >>>>>>> <ui:composition template="templates/main.xhtml"> >>>>>>> <ui:param name="activeTab" value="blabla"/> >>>>>>> >>>>>>> <ui:define name="navigation"> >>>>>>> <ui:include src="/facelets/navigation.xhtml"></ui:include> >>>>>>> </ui:define> >>>>>>> >>>>>>> >>>>>>> 2) navigation.xhtml >>>>>>> ... >>>>>>> <t:commandLink onclick="#{MyController.onlick}" >>>>>>> ... >>>>>>> >>>>>>> I use myFaces 1.2.9 and facelets 1.1.15. >>>>>>> >>>>>>> Thanks, >>>>>>> Michael >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>> >>>> >>>> >>> >>> -- >>> Jakob Korherr >>> >>> blog: http://www.jakobk.com >>> twitter: http://twitter.com/jakobkorherr >>> work: http://www.irian.at >>> >>> >>> >> >> >> >> > > -- Jakob Korherr blog: http://www.jakobk.com twitter: http://twitter.com/jakobkorherr work: http://www.irian.at

