users@woodstock.java.net

Re: Table checkboxes offset when in webuijsf:property

From: Arnaud Brand <arnaud.brand_at_free.fr>
Date: Wed, 21 May 2008 23:11:59 +0200
Hi Dan,

Sorry I couldn't answer earlier.

You were right, lifecycle_id has nothing to do with that.
I was all my fault. (user error :)

Still, it's a bit confusing for users :
putting multiple components in a facet only shows the first of them, but doesn't crash,
whereas giving an id on any of these components crashes with "duplicate id".

I don't know if it's the right behavior or not, or if something needs to be corrected,
it's just that this behavior seemed strange to me and that it (and the stress at that time) led me to wrong conclusions.

Anyway, I'll just keep in mind that a facet can only have one child and everything will be ok.

Thanks again for your time and help and have a nice day,
Arnaud


Dan Labrecque a écrit :
I doubt this has anything to do with the LIFECYCLE_ID property in web.xml. Sounds like a symptom, but probably just user error relating to how facets are used.

When using a JSF <f:facet> tag, only one component can be a child. In order to use more than one component, you must add a container such as <f:subview> or <webuijsf:panelGroup>. For example:

  <f:facet name="actionsTop">
    <f:subview id="actionsTop">
      <jsp:include page="actionsTop.jsp"/>
    </f:subview>
  </f:facet>

Note that you always want to provide a unique id -- adding <f:subview> tag will help. JSF will try to provide one for you, but it's always best to set this yourself. Especially if you're using Java to create components dynamically.

Dan

Arnaud Brand wrote:
Thanks for your help. I'll try on monday to give these checkboxes a shift to the bottom of the screen.

While we're on the property sheet problems, I just remembered this afternoon why I removed the LIFECYCLE_ID in web.xml : it broke <w:property>'s content facet.
When I added more than one component to this content facet (in my case a <w:dropdown> and a <w:button>) and at least one of these components had an id set, I got an error from (as far as I can remember) UIPartialViewRoot complaining that this id was already used (duplicate component id messages or something like that).

As soon as I removed the components ids, things worked well. If I kept the component's ids, I had to remove the facet and set the components as direct childs of the w:property. Removing the lifecycle_id also solved the thing. Being a relative beginner in JSF, I though "the simpler, the better" and remove that from my web.xml.

I'll verify this behavior and try and prepare a simple test case that reproduces it on monday.

Have a nice week end,
Arnaud