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