i dont think its missing that definition. it uses it if its set and doesnt if its not. if we add setUseModel(boolean) we would have to add it to Component() not just button and it will make things messy.

-Igor


On 3/13/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
I'm using the standard Wicket and custom components (from extensions and written by me) and I've never run into a similar problem. CompoundPropertyModels are a great concept and I see no 'danger' in them.

The problem with Button is its missing definition: does it use its Model for the value attribute or does it not?

Sven

>imho, this is an inherent danger of using compound property models.this >can happen with more components then just the button. any >reusablecomponent that you put into the form might inherit a model >without yourealizing. imho you just have to watch out for stuff like >that.
>
>-Igor
>
>>On 3/12/06, Sven Meier <[EMAIL PROTECTED]> wrote:This week I ran into a >>problem, where a button suddenly changed its
>>inscription which was supposed to be specified in the HTML template.
>>
>>Reason for this was that we added a new property to one of our model
>>objects. We're using CompoundPropertyModels (who doesn't?) and the value
>>of the property was rendered because as chance would have it the button
>>has an identical wicket:id :(.

>>I found the origin of this unexpected behavior in
>>Button#onComponentTag(ComponentTag) :
>>
>>    try
>>    {
>>        String value = getModelObjectAsString();
>>        if (value != null && !"".equals(value))
>>        {
>>            tag.put("value", value);
>>        }
>>    }
>>    catch (Exception e)
>>    {
>>        // ignore.
>>    }
>>
>>IMHO this code is problematic in either way:
>>- if the value attribute should stay untouched as specified in the HTML,
>>you carefully have to watch out for collision of property name and >>wicket:id
>>- if the value attribute should be generated, you won't get an error if
>>the property is misspelt.
>>
>>I propose to formalize the behaviour of Button with a new method, say:
>>
>>    Button#setOutputMarkupValue(boolean)
>>
>>If you wonder, the name of this method was inspired by
>>Component#setOutputMarkupId().
>>
>>What do you think?
>>
>>Sven


-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
Wicket-develop mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wicket-develop

Reply via email to