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.