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?