List<com.sun.jsftemplating.layout.descriptors.handler.Handler> handlers =
handlerCtx.getHandler().getChildHandlers();
if (handlers.size() > 0) {
// We have child handlers in the loop... execute while we iterate
LayoutElement elt = handlerCtx.getLayoutElement();
Map<String, Object> requestMap = handlerCtx.getFacesContext().
getExternalContext().getRequestMap();
if (list != null) {
for (Object obj : list) {
requestMap.put(var, obj);
// Ignore whats returned by the handler... we need to return
// false anyway to prevent children from being executed again
// FIXME: Consider supporting a "break" type of functionality
elt.dispatchHandlers(handlerCtx, handlers);
}
}
}
// This will prevent the child handlers from executing again