Ryan Wynn Wrote: > I think I may have narrowed down the problem. > > In org.apache.shale.clay.component.chain.CreateComponentCommand > > String id = null; > > if ((id = displayElement.getId()) == null) > id = facesContext.getViewRoot().createUniqueId(); > > UIComponent child = null; > if (displayElement.getFacetName() != null) > child = parent.getFacet(displayElement.getFacetName()); > else > child = parent.findComponent(id); > if (child == null) { > // create child > } > > probably needs to take into account that id may have a mnemonic associated > with it. > > so, > > String id = null; > id = hasMnemonic(displayElement.getId()) ? > getMnemoic(displayElement.getId()): displayElement.getId(); > > if (id == null) > id = facesContext.getViewRoot().createUniqueId(); > ... > > Then a duplicate component will not be created in the render cycle. >
Thanks for the help Ryan. I believe I addressed the component id problem you identified. I think we might be able to extend this symbol replacement to the JSP clay tag. Maybe create a tag similar to the jsf attribute tag. I guess that would require changing the clay tag to a body tag. This would be similar to what Craig described in the original clay todo list (#7 http://issues.apache.org/bugzilla/show_bug.cgi?id=33752 ) I was also thinking about adding to the clay DTD so that "symbols" could be use for full XML views too? Gary