Thanks Rafael and Leonardo.

Its very easy with target, this solution is best in my opinion.

Works.

Thanks again

2012/6/29 Leonardo Uribe <lu4...@gmail.com>:
> Hi
>
> You can try the alternate syntax using "targets". For example:
>
> <composite:interface>
>    <composite:attribute name="action" targets="testComponent"/>
> </composite:interface>
> <composite:implementation>
>    <h:commandButton id="testComponent" value="Press Me"/>
> </composite:implementation>
>
> Instead use EL, you can use the id hierarchy to locate the component.
> In this case, there will not be NullPointerException, because only if
> the property is set, the value is assigned. I have tested both syntax
> in MyFaces with tons of tests:
>
> http://svn.apache.org/repos/asf/myfaces/core/trunk/impl/src/test/resources/org/apache/myfaces/view/facelets/tag/composite/
>
> and it works without problem.
>
> regards,
>
> Leonardo Uribe
>
> 2012/6/29 Rafael Pestano <rmpest...@yahoo.com.br>:
>> again,
>>
>> <cc:implementation>
>>
>>     <h:commandButton
>>                 value="Ok" rendered="#{not empty cc.attrs.action and 
>> empty cc.attrs.actionListener}"
>>                 action="#{cc.attrs.action}"
>>     />
>>
>>
>>   <h:commandButton
>>                 value="Ok" rendered="#{not empty cc.attrs.actionListener and 
>> empty cc.attrs.action}"
>>                 actionListener="#{cc.attrs.actionListener}"
>>     />
>>
>>   <h:commandButton
>>                 value="Ok" rendered="#{not empty cc.attrs.actionListener and 
>> not empty cc.attrs.action}"
>>                 actionListener="#{cc.attrs.actionListener}"
>>                  action="#{cc.attrs.action}"
>>     />
>>
>> </cc:implementation>
>>
>>
>> Att,
>> Rafael M. Pestano
>> Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
>> Graduando em Ciência da Computação UFRGS
>> http://code.google.com/p/jsf-conventions-framework/
>> http://rpestano.wordpress.com
>> http://twitter.com/realpestano
>>
>>
>>
>> ----- Mensagem original -----
>> De: Rafael Pestano <rmpest...@yahoo.com.br>
>> Para: MyFaces Discussion <users@myfaces.apache.org>
>> Cc:
>> Enviadas: Quinta-feira, 28 de Junho de 2012 23:12
>> Assunto: Re: Custom tag
>>
>> you can try:
>>
>> <cc:implementation>
>>
>>     <h:commandButton
>>                 value="Ok" rendered="#{not empty cc.attrs.action and 
>> empty cc.attrs.actionListener}"
>>                 action="#{cc.attrs.action}"
>>     />
>>
>>
>>   <h:commandButton
>>                 value="Ok" rendered="#{not empty cc.attrs.actionListener and 
>> empty cc.attrs.action}"
>>                 actionListener="#{cc.attrs.actionListener}"
>>                 action="#{cc.attrs.action}"
>>     />
>>
>>   <h:commandButton
>>                 value="Ok" rendered="#{not empty cc.attrs.actionListener and 
>> not empty cc.attrs.action}"
>>                 actionListener="#{cc.attrs.actionListener}"
>>     />
>>
>> </cc:implementation>
>>
>>
>>
>> maybe it helps.
>>
>> Att,
>>
>> Rafael M. Pestano
>>
>> Desenvolvedor Java Cia. de Processamento de Dados do Rio Grande do Sul
>> Graduando em Ciência da Computação UFRGS
>> http://code.google.com/p/jsf-conventions-framework/
>> http://rpestano.wordpress.com
>> http://twitter.com/realpestano
>>
>>
>>
>> ________________________________
>> De: José Luis Cetina <maxtorz...@gmail.com>
>> Para: MyFaces Discussion <users@myfaces.apache.org>
>> Enviadas: Quinta-feira, 28 de Junho de 2012 18:28
>> Assunto: Custom tag
>>
>> Hi i have this:
>>
>> Simple custom tag:
>>
>> <cc: interface componentType="my_button" >
>>   <cc:attribute name="action" method-signature="java.lang.String action()"/>
>>   <cc:attribute name="actionListener" method-signature="void
>> actionListener(javax.faces.event.ActionEvent event)"/>
>> </ cc:interface>
>>
>> <cc:implementation>
>>     <h:commandButton
>>                 value="Ok"
>>                 action="#{cc.attrs.action}"
>>                 actionListener="#{cc.attrs.actionListener}"
>>      />
>> </cc:implementation>
>>
>> Then in my page i do:
>>
>> <mytags:mybutton action="#{myBean.actionMethod}"/>
>>
>> But i get a NullPointerException, this is because im not setting the
>> actionListener attribute, but the thing is that sometimes i need or
>> only action or actionlistener not both, but i have to provided both if
>> not i get the nullpointer.
>>
>>
>> I have to do this, but the listener method is empty in my managedbean,
>> i only do this for avoid the nullpointer.
>> <mytags:mybutton action="#{myBean.actionMethod}"
>> actionListener="#{myBean.actionListenerMethod}"/>
>>
>> how can i avoid this?
>>
>> Thanks
>>
>> -------------------------------------------------------------------
>> SCJA. José Luis Cetina
>> -------------------------------------------------------------------
>>



-- 
-------------------------------------------------------------------
SCJA. José Luis Cetina
-------------------------------------------------------------------

Reply via email to