Thanx alot for your reply! I tried that and the dynamicId tag works as long it 
has no child elements. But when I try this:

<jsfutils:dynamicId value="#{field.id}">
 <tr:form>
  <tr:selectOneChoice 
        required="#{field.required}" 
        value="#{genericFormBean.formDesc.modelMap[field.id]}" 
        <f:selectItems
                value="#{genericFormBean.selectItemMap[field.itemList]}"
        />
  </tr:selectOneChoice>
 </tr:form>
</jsfutils:dynamicId>

I am getting this Exception:

java.lang.NullPointerException
        at 
org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.FormRenderer.encodeEnd(FormRenderer.java:212)
        at 
org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:228)
        at 
org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:693)
        at 
org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:304)
        at 
org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:321)
        at 
org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelPartialRootRenderer.renderContent(PanelPartialRootRenderer.java:64)
        at 
org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.BodyRenderer.renderContent(BodyRenderer.java:142)
        at 
org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelPartialRootRenderer.encodeAll(PanelPartialRootRenderer.java:119)
        at 
org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.BodyRenderer.encodeAll(BodyRenderer.java:78)
        at 
org.apache.myfaces.trinidad.render.CoreRenderer.delegateRenderer(CoreRenderer.java:335)
        at 
org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.DocumentRenderer.encodeAll(DocumentRenderer.java:80)
        at 
org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:224)
        at 
org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:693)

and the DynamicIdRenderer is never called. 

I am using Trinidad 1.0.11 (JSF 1.1). We have no option to switch to JSF 1.2 
since we stick on JBoss 4.0.5 :-(

Best Regards,

Andreas


-----Ursprüngliche Nachricht-----
Von: [email protected] 
[mailto:[email protected]] 
Gesendet: Mittwoch, 2. September 2009 16:33
An: [email protected]
Betreff: RE: Component id doesn't support EL?


Not really, I believe it's in the JSF specification that the ID is not allowed 
to be dynamic. I actually wrote about this on my blog (which is not very 
popular since I don't really promote it much), but you can check it out 
http://rossner.wordpress.com , I think it's actually the most recent one (which 
is quite old), it's blocked from my office so I can't even check it (damn 
websense), but I do have a "sort of" workaround for this, it won't work in all 
cases but maybe it will help you.

-----Original Message-----
From: Roeder, Andreas [mailto:[email protected]] 
Sent: mercredi 2 septembre 2009 12:04
To: [email protected]
Subject: Component id doesn't support EL?

Hello,

I tried to use the EL to set an id on a <tr:selectOneChoice> component: 

<tr:selectOneChoice
        id="#{field.id}" 
        required="#{field.required}" 
        value="#{genericFormBean.formDesc.modelMap[field.id]}" 
        <f:selectItems
                value="#{genericFormBean.selectItemMap[field.itemList]}"
/>
</tr:selectOneChoice>

But I keep getting an IllegalArgumentException. So it seems like EL is not 
supported for an ID, event the documentation says so.

Is there a workaround for that?

Reply via email to