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

Reply via email to