[jboss-user] [JBoss Seam] - Re: JSTL tags ignored

denis-karpov do-not-reply at jboss.com
Fri Sep 22 11:09:43 EDT 2006


It is hot topic on faselets forum. Specially <c:if? case. Your mistake is you are trying to use build-time tag as render-time.
For instance, instead of <c:if> almost always you should use rendered attribute.

.........
Why doesn't my c:if / ui:repeat / ui:include work properly? 
You're probably using a bad combination of build-time and render-time tags. For example, c:if is a build-time tag, so any EL expressions are only evaluated once (when the tree is built), even if you put it inside a ui:repeat or h:dataTable. Conversly, since ui:repeat is a 'render-time tag' (i.e. a UIComponent), you can't use it to iterate over build-time tags such as f:selectItem. 

Build-time (facelet) tags: 
·	all JSTL tags (e.g. c:if, c:forEach, c:choose) 
·	all ui tags except ui:repeat (e.g. ui:include, ui:decorate, ui:composition) 
·	all core faces tags except f:verbatim (e.g. f:validator, f:convertNumber, f:selectItem) 

Render-time tags (UIComponents): 
·	all UIComponent tags (e.g. ui:repeat, h:inputText, t:saveState)
http://wiki.java.net/bin/view/Projects/FaceletsFAQ#Why_doesn_t_my_c_if_ui_repeat_ui

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3973581#3973581

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3973581




More information about the jboss-user mailing list