Did you define a proper struts-conversion.properties? https://github.com/apache/struts-examples/blob/main/type-conversion/src/main/resources/struts-conversion.properties
You can review this example for some hints: https://github.com/apache/struts-examples/tree/main/type-conversion Cheers Łukasz czw., 11 wrz 2025 o 17:13 Ute Kaiser <ut...@web.de.invalid> napisał(a): > > Hi, > > looking for best practice to use <s:select /> for nested objects. > > My application uses a lot of lookup objects for countries, currencies etc. > loaded from database on startup. They have id and description with getters > but no setters. > Input masks use these lookup objects in select lists, e.g. > <s:select > id="foo" > name="person.country.id" > list="countries" > listKey="id" > listValue="description" > headerKey="-1" > headerValue=" --- Please select country --- " > cssStyle="width:300px;" > /> > Class person: Long id, String name, Country country > That works fine when entering the mask and displaying the data. But when > saving the data, Struts error: no setId() for country. > Setting name="person.country" and listKey="this" -> problem the other way > around: No match when entering the mask with existing data, after selecting a > country and saving, person has the proper country. > > I tried https://struts.apache.org/core-developers/type-conversion > but XWorkConverter does not use my converter. > Debugging Struts, I see that XWorkConverter.buildConverterMapping decides to > ignore my lookup class by converterHolder.addNoMapping(clazz) > It looks to me that > // check for conversion mapping associated with super classes and any > implemented interfaces > Class curClazz = clazz; > > while (!curClazz.equals(Object.class)) { > // add current class' mappings > addConverterMapping(mapping, curClazz); > clazz is my lookup class but curClazz is java.lang.object. > > I would appreciate to get some advice how to handle my problem. > > Best regards Ute > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@struts.apache.org > For additional commands, e-mail: user-h...@struts.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org