On 16/05/2012, at 11:27 PM, Scott Gray wrote:

> On 16/05/2012, at 11:21 PM, Adrian Crum wrote:
> 
>> On 5/16/2012 12:17 PM, Christian Geisert wrote:
>>> Adrian Crum schrieb:
>>>> On 5/16/2012 11:44 AM, Christian Geisert wrote:
>>>>> What's the point of CommonEmptyHeader?
>>>>> 
>>>>> It's definied in CommonUiLabels.xml as:
>>>>> 
>>>>> <property key="CommonEmptyHeader">
>>>>>     <!-- do not  remove this! -->
>>>>>     <value xml:lang="en" xml:space="preserve">   </value>
>>>>> </property>
>>>>> 
>>>>> It is just a simple space (0x20)
>>>>> 
>>>>> It is used ~500 times in forms as a title in a field definition
>>>>> 
>>>>> Example:
>>>>> 
>>>>> <form name="EditPerson" type="single" target="updatePerson"
>>>>>   ...
>>>>>   <field name="cancelLink" title="${uiLabelMap.CommonEmptyHeader}"
>>>>> 
>>>>>     <hyperlink target="${donePage}" also-hidden="false"
>>>>>       description="${uiLabelMap.CommonCancelDone}">
>>>>>       <parameter param-name="partyId"/>
>>>>>     </hyperlink>
>>>>>   </field>
>>>>> </form>
>>>>> 
>>>>> 
>>>>> This is a button which should have no label, but if the title attribute
>>>>> is empty then the name attribute is used as label.
>>>>> 
>>>>> Why not just put a space (" ") into the title attribute - still a hack,
>>>>> but exactly same result a using CommonEmptyHeader without the need using
>>>>> CommonEmptyHeader.
>>>>> 
>>>>> The real solution is of course not to display a label if the title
>>>>> attribute is empty.
>>>> An empty title attribute is meant to be a shortcut, or a developer's
>>>> convenience - the widgets will use the field name to look up the correct
>>>> label.
>>> Ah, ok that's this FormFieldTitle_ stuff (which I don't like and use ;-)
>>> - IMHO it is bad for re-using labels...)
>>> 
>>>> Putting a space in the title attribute is the only way to turn off the
>>>> default behavior.
>>> Ok, so there is nothing against replacing
>>> "${uiLabelMap.CommonEmptyHeader}" with " "?
>>> 
>> 
>> That is what we would like to do - but it doesn't work. That is what needs 
>> to be fixed.
>> 
>> -Adrian
> 
> Does element.hasAttribute really return false if an attribute exists with an 
> empty value?  You'd think the javadoc would call that out since it defies 
> common sense.
> 
> Regards
> Scott


If it does actually return true then we could just change this:
    if (UtilValidate.isNotEmpty(this.title)) return title.expandString(context);
to this:
    if (this.title != null) return title.expandString(context);



Reply via email to