struts2 trim all string obtained from forms
- by aelkin
Hi All,
I develop web application using struts2. I want to improve getting string from forms. For this need trim all string and if obtained string is empty then set null to field.
For this, I created StringConverter.
public class StringConverter extends StrutsTypeConverter {
    @Override
    public Object convertFromString(Map context, String[] strings, Class toClass) {
       if (strings == null || strings.length == 0) {
          return null;
       }
       String result = strings[0];
       if (result == null) {
          return null;
       }
       result = result.trim();
       if (result.isEmpty()) {
          return null;
       }
       return result;
    }
    @Override
    public String convertToString(Map context, Object object) {
       if (object != null && object instanceof String) {
          return object.toString();
       }
       return null;
    }
}
Next, I added row to xwork-conversion.properties
java.lang.String=com.mypackage.StringConverter
Thats all. But I did not get the desired result.
convertToString() method is called when jsp build form, but convertFromString() doesn't invoke.
What I do wrong? How can I get the same behaviour using another way?
Please, not offer solutions such as:
remove the value of such form elements using javascript.
create util method which will make it using reflection. Then call it for each form bean.
Thanks in advance,
Alexey.