You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Laurent Leconte <la...@es.wanadoo.com> on 2003/10/16 16:48:55 UTC
[newbie] Passing an object to an actionBean within an html:form
Hello all,
I'd like to pass a complex object (i.e. not a String or something easily convertible to a String) to an actionForm, within an <html:form> tag.
Specifically, my jsp displays a list of BaseTable objects. I'd like to create an <html:form> for each object, so that clicking on the "submit" button passes the given object to my actionForm and calls the appropriate action. To make this clearer :
The <html:form> I'd *like* to have :
<html:form action="/detail.do">
<html:hidden property="element" value="<%=(BaseTable) element%>" />
<html:submit>
</html:form>
----------
My actionForm :
package com.wanadoo.es.dispatcher.forms;
//snip imports
import com.wanadoo.es.dispatcher.datastruct.BaseTable;
public class GetDetailForm extends ActionForm {
private BaseTable element;
//more...
//snip setters and getters
---------
The relevant struts-config.xml lines:
<form-bean name="detailForm" type="com.wanadoo.es.dispatcher.forms.GetDetailForm"/>
<action
path="/detail"
type="com.wanadoo.es.dispatcher.actions.GetDetailAction"
name="detailForm"
scope="request"
validate="false">
<forward name="Success" path="/detail.jsp"/>
</action>
The problem is that the <html:hidden> tags will only set String properties, and the BaseTable object is too complex to be turned into a String and back.
I thought of making the actionForm bean available to the entire page, loading the entire List of BaseTables into it statically, and only passing a String identifier (such as the position of the object in the list, for instance) dynamically. However, this would make for significant overhead (some lists have 500+ elements) and is doesn't seem very elegant.
Any ideas ?
--
Laurent Leconte
lleconte@es.wanadoo.com
---------------------------------------------------------------------
To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-user-help@jakarta.apache.org