It's not a secret anymore!
The moose likes JSF and the fly likes Custom component & validation/rendering problems Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Java Interview Guide this week in the Jobs Discussion forum!
JavaRanch » Java Forums » Java » JSF
Bookmark "Custom component & validation/rendering problems" Watch "Custom component & validation/rendering problems" New topic

Custom component & validation/rendering problems

Tommaso Tama

Joined: Oct 13, 2010
Posts: 11

I need a component that will do the following:

- render an icon with an HtmlAjaxCommandLink
- clicking the icon an action will be triggered
- clicking the icon a modal panel will appear with some label, text and so on.

This is the tag I have in mind:

So, I started to write a custom component that will extend an HtmlAjaxCommandLink

The idea is to use and then add a child component to the DOM:

Tag works fine ....

(see one.gif)

but if a JSF validation is triggered (i.e. a missing value in a mandatory field), something goes wrong.

(see two.gif)

The component is rendered again, so I have two icons in the page.

(see three.gif)

While debugging, I saw that after validation, encodeBegin is called again and that getChildCount() returns 1.
The solution I found is to invoke getChildren().clear() in encodeBegin method.

I know that this is not the right way to fix my problem.

Any suggestion?

Many thanks,

[Thumbnail for three.gif]

[Thumbnail for one.gif]

[Thumbnail for two.gif]

Tommaso Tama

Joined: Oct 13, 2010
Posts: 11
Sorry, I forgot: I'm using JSF1.2 and Rich components (3.3).
I agree. Here's the link:
subject: Custom component & validation/rendering problems
It's not a secret anymore!