2017-09-25 5:04 GMT+02:00 Burton Rhodes <burtonrho...@gmail.com>: > When extending the StrutsTypeConverter, is there anyway to figure out if > the "toClass" is a List<Integer> or a List<String>? I have found that when > converting data from a submitted webpage that has a value of a List in a > single variable, the standard struts conversion fails. For example: > <s:hidden name="integerList" value="%{integerList}" /> display as <s:hidden > name="integerList" value="[1,2,3,4,5]" />. When the form submits, this > value will not convert properly back into the List. In addition, the > conversion fails if you have a list of checkboxes and the user only checks > one - hence only a single variable being converted to a List. > > I have solved this issue by creating a MyListConverter, but I have to > declare the converter on each action in a [-conversion.properties] file > which is now becoming a bit cumbersome since this is such a common > occurrence. I have also declared some on my model/entity beans, but > still.... I would love to have a more global "List" converter, such as: > > [xwork-conversion.properties] > java.util.List=com.afs.web.converter.MyListConverter > > Thus any List that is encountered, I could attempt "my conversion" and send > up the chain of command if the resulting List is not of List<Integer> or > List<String>. > > [Psuedo_Code] > public class MyListConverter extends StrutsTypeConverter { > public Object convertFromString(Map context, String[] values, Class > toClass) { > // Is toClass List<Integer>, then try "my" conversion > > // Else is toClass List<String?, then try "my" conversion > > // Else return performFallbackConversion(context, o, toClass); > } > } > > Any ideas? Or am I going about this incorrectly?
What version of Struts do you use? I think this was resolved in 2.5.13 or 2.5.12 - I meant conversion of list of built-in types (ints, doubles, etc), to convert your own type just register it (as for the List above). Regards -- Ćukasz + 48 606 323 122 http://www.lenart.org.pl/ --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org