Can anybody explain why setProperty on a String property has no effect if the value passed in is an empty string. I can see the point if it is null (does not exist). I can also see the point if the property is not a string since there is no logical way to convert to a Boolean etc.

Serge Knystautas

The reason it is this way is they expect a common way setProperty will be used it to grab data from form elements. If the user leaves a form element blank, request.getParameter("fieldname") will return an empty String.