IMHO the easiest way is to override the isVisible method, e.g.
newLabel("product-photo-date",
CommonUtil.getFormattedDate(product.getPhoto().getDateTime())) {
public boolean isVisible() {
return product.getPhoto() != null;
}
}
-Matej
Francisco Treacy wrote:
> Hi wicketers,
>
> I would like to ask you what's the best way to perform the following:
> Say I have Products. There are Products that have a Photo and there are
> Products that don't.
>
> // Set data to the page
> add(new Label("product-description", product.getDescription()));
>
> if (product.getPhoto() != null) {
> add(new Label("product-photo-date",
> CommonUtil.getFormattedDate(product.getPhoto().getDateTime())));
> add(new Label("product-photo-time",
> CommonUtil.getFormattedTime(product.getPhoto().getDateTime())));
> }
>
> In my html i have
>
> <span wicket:id="product-description">[product-description]</span>
> (eventually add something here)
> <span wicket:id="product-photo-date">[product-photo-date]</span>
> <span wicket:id="product-photo-time">[product-photo-time]</span>
> (eventually add something here)
>
> And Wicket will complain if product.getPhoto() is null, of course, cause
> product-photo-date and product-photo-time were never added to the page
> component.
>
> I really don't see how to avoid this check, or how to solve this
> elegantly. Perhaps missing something obvious, hope not :)
>
> And afaik the useComponentUseCheck setting at application level checks
> the other way round (if elements declared in java Page are marked-up in
> html code). Anyway, I have it set to false.
>
> Thanks in advance, and thanks as well for such a nice web framework,
>
> Francisco
>
> ------------------------------------------------------------------------
> Découvrez une nouvelle façon d'obtenir des réponses à toutes vos
> questions ! Profitez des connaissances, des opinions et des expériences
> des internautes sur Yahoo! Questions/Réponses
> <http://fr.rd.yahoo.com/evt=42054/*http://fr.answers.yahoo.com>.
>
>
> ------------------------------------------------------------------------
>
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share your
> opinions on IT & business topics through brief surveys - and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Wicket-user mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/wicket-user
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Wicket-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wicket-user