Well I'll be damned...it's working! It looks like the solution was to remove the *-conversion.properties entries and then change this in SettingAction:
public void setSettings(SettingList settings) { this.settings = settings; } public SettingList getSettings() { return settings; } to: public void setSettings(List<Setting> settings) { this.settings = new SettingList(); for (Setting setting : settings) { this.settings.add(setting); } } public List<Setting> getSettings() { return settings; } I probably would never have tried the List<Setting> approach, I am in your debt! Thanks for taking the time to work with it a bit, I appreciate it as it was driving me nuts! You get free drinks if I go to Japan or you come to the States... Cheers, Ryan musomesa wrote: > > > I got your code to run (paseted below). Just so I am sure I am doing what > you are trying to do: > > 1. I made no changes to Setter or SetterList so that I don't break your > design. Only to the action and the jsp > 2. I assume what you want is to be able to display and edit and create the > settings (I did not do delete)? > 3. I assume you are using Struts 2.1.6 (I should have asked -- sorry) > > > Some observations: > 1. You don't need a converter at all. > Why? Because you are sending the title and value as separate Strings and > want to create a Settings object with those items as its state. > Instantiating an object and injecting it with a couple of Strings does not > require a converter. If you have a String representation of the Setting as > a whole (e.g. "theTitle&theValue) then you would need a converter to parse > the String and create a Setting object. > > 2. You don't need entries in *-converters.xml > Why? Becaus of 1. > > 3. You don't need to expose?a property of type StringList. > Why? Your JSP only uses the fact that it is a List<Setting>. StringList is > an implementation. So you only need a getter/setter that returns/takes a > ?List<Setting>? > > Note: I am posting from Japan and I noticed I sometimes get characters > that are non-printing here appearing in the paste -- I think it is the > encoding so please clean it up if that happens > > Action: > > public class SettingAction extends ActionSupport { > ?private static final long serialVersionUID = -7082992787920559583L; > ?private Setting newSetting; > ?private SettingList settings = new SettingList(); > > ?public String execute() { > ??if (newSetting != null) { > ???//give it an id > ???newSetting.setId("" + settings.size()); > ???settings.add(newSetting); > ??} > ??return SUCCESS; > ?} > > > ?public void setSettings(List<Setting> settings) { > ??this.settings = new SettingList(); > ??for (Setting setting : settings) { > ???this.settings.add(setting); > ??} > ?} > > > ?public List<Setting> getSettings() { > ??return settings; > ?} > > > ?public Setting getNewSetting() { > ??return newSetting; > ?} > > > ?public void setNewSetting(Setting newSetting) { > ??this.newSetting = newSetting; > ?}; > > } > > > JSP: > > <s:form action="setting"> > ?<s:iterator value="%{settings}" status="rowstatus"> > ??<tr> > ???<th> > ????<input? > ????name='settings[<s:property value="#rowstatus.index" />].title' > ????value='<s:property value="title" />' type="hidden" /> > ???? > ????<label?for='setting_<s:property value="id" />'> > ????<s:property value="title" />: </label> > ???</th> > ???<td> > ????<input id='setting_<s:property value="id" />' > ????name='settings[<s:property value="#rowstatus.index" />].value' > ????value='<s:property value="value" />' /></td> > ??</tr> > ?</s:iterator> > ?<s:label value="New Setting" /> > ?<s:textfield name="newSetting.title" label="Title"></s:textfield> > ?<s:textfield name="newSetting.value" label="Value"></s:textfield> > ?<s:submit /> > </s:form> > > > Cheers > Chris M > > > > > -----Original Message----- > From: ryangr <grigg...@gmail.com> > To: user@struts.apache.org > Sent: Wed, 18 Mar 2009 10:55 pm > Subject: Re: Type conversion exceptions > > > > > > Here is the converter code: http://pastie.org/419709 > > Obviously it isn't doing anything other than outputting the values being > passed in, but none of the values contain anything yet as the parameters > are > getting lost somewhere so there's no point in processing them yet. > > > > musomesa wrote: >> >> I have downloaded your code and will study it so that I don't >> misunderstand. Can you also post the converter? >> If I see it I might?suggestions that fit what you are doing better. >> Chris >> > > -- > View this message in context: > http://www.nabble.com/Type-conversion-exceptions-tp22497261p22579161.html > Sent from the Struts - User mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@struts.apache.org > For additional commands, e-mail: user-h...@struts.apache.org > > > > -- View this message in context: http://www.nabble.com/Type-conversion-exceptions-tp22497261p22608399.html Sent from the Struts - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@struts.apache.org For additional commands, e-mail: user-h...@struts.apache.org