Aha... ok :-) 2014-04-04 9:06 GMT+02:00 Fabian Richter <frich...@mtg.de>: > I was using my own converter extending DefaultTypeConverter, but was under > the impression that exceptions thrown inside the converter will be caught by > the default exception handler. > > Am 04.04.2014 08:58, schrieb Lukasz Lenart: >> >> You mean in EnumTypeConverter? Or in DefaultTypeConverter? >> >> 2014-04-04 8:47 GMT+02:00 Fabian Richter <frich...@mtg.de>: >>> >>> Yeah, I was having Converters for both types, AND DifferentComplexType is >>> an >>> enum. >>> >>> The problem was, in the converters convertFromString method the >>> enum.valueOf() should have thrown an IllegalArgumentException when >>> calling >>> it with an emtpy String "" but instead, just the conversion silently >>> failed >>> and the value didnt get set. >>> >>> Not sure this is "as designed" thats up to you guys, but I solved it by >>> handling "" explicitly. >>> >>> Thanks for your support! >>> >>> Am 04.04.2014 07:16, schrieb Lukasz Lenart: >>>> >>>> >>>> Do you have converters for ComplexType and DifferentComplexType >>>> registered? >>>> >>>> 2014-04-03 11:19 GMT+02:00 Fabian Richter <frich...@mtg.de>: >>>>> >>>>> >>>>> Hey, >>>>> >>>>> not sure this is a Bug or a Feature, but I ran into the following >>>>> troubles, >>>>> someone might be able to explain: >>>>> >>>>> class ComplexType { >>>>> private DifferentComplexType test; >>>>> >>>>> public void setTest(DifferentComplexType test){ >>>>> this.test = test; >>>>> } >>>>> public DifferentComplexType getTest(){ >>>>> return this.test; >>>>> } >>>>> } >>>>> >>>>> In an action class I have >>>>> >>>>> private ComplexType field; >>>>> >>>>> public ComplexType getField(){ >>>>> return this.field; >>>>> } >>>>> >>>>> public void setField(ComplexType field){ >>>>> this.field = field; >>>>> } >>>>> >>>>> Now in this Action, I am setting "test" with a <s:select list="..." >>>>> key="field.test" headerKey="" headerValue="Undefined" /> >>>>> >>>>> But when I want to null it, by selecting the header entry "Undefined", >>>>> Struts is not calling getField().setTest() its not changing "test" in >>>>> "field" at all. >>>>> >>>>> When I add to my action >>>>> >>>>> public DifferentComplexType getTest(){ >>>>> return this.field.getTest(); >>>>> } >>>>> >>>>> public void setTest(DifferentComplexType test){ >>>>> this.field.setTest(test); >>>>> } >>>>> >>>>> and change the <s:select> to use key="test" it works like a charm. >>>>> >>>>> Is that how its supposed to be? If so, why? >>>>> >>>>> Thank you for explaining! >>>>> >>>>> Best >>>>> Fabian >>>>> >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org >>>> For additional commands, e-mail: user-h...@struts.apache.org >>>> >>> >>> -- >>> media transfer AG >>> >>> Fabian Richter, M.Sc. >>> Softwareentwickler >>> >>> Mail: frich...@mtg.de >>> Telefon: +49 6151 8193-24 >>> Telefax: +49 6151 8193-43 >>> Web: http://www.mtg.de >>> >>> Firmensitz: Dolivostraße 11, 64293 Darmstadt >>> Registergericht: Amtsgericht Darmstadt, HRB 8901 >>> Vorstand: Jürgen Ruf (Vors.), Tamer Kemeröz >>> Aufsichtsratsvorsitzender: Dr. Thomas Milde >>> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org >> For additional commands, e-mail: user-h...@struts.apache.org >> > > -- > media transfer AG > > Fabian Richter, M.Sc. > Softwareentwickler > > Mail: frich...@mtg.de > Telefon: +49 6151 8193-24 > Telefax: +49 6151 8193-43 > Web: http://www.mtg.de > > Firmensitz: Dolivostraße 11, 64293 Darmstadt > Registergericht: Amtsgericht Darmstadt, HRB 8901 > Vorstand: Jürgen Ruf (Vors.), Tamer Kemeröz > Aufsichtsratsvorsitzender: Dr. Thomas Milde >
--------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org