struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marcel Maré <>
Subject indexed properties weirdness. I'm desperate...
Date Sat, 11 Aug 2001 15:10:45 GMT
This is driving me crazy. I've spent days figuring this out. Yes, I have
read other postings about this, but obviously I'm missing something (part of
my brain perhaps).

What I want is the form bean to contain a list of objects, which have some
properties. The jsp will iterate over the objects in the list to display
it's (nested) properties in a form. Sounds simple?.... It isn't.

I just can't figure out what property getters I *have* to implement.

This is a test case I have created:

The Form bean

public class EditCartForm extends ActionForm {

    // other stuff omitted

    private ArrayList indexables = new ArrayList();

    public EditCartForm() {

    public Indexable getIndexable(int index) {
        return (Indexable) indexables.get(index);

    public List getIndexables() {
        return indexables;


The Indexable class that is in the list

public class Indexable extends Object implements {

    private String stringProp;
    private Integer intObjProp;
    private int intProp;

    public Indexable() {

    public Indexable( int value ) {
        intProp = value;
        intObjProp = new Integer(intProp);
        stringProp = String.valueOf(intProp);

    public String getStringProp() {
        return stringProp;

    public void setStringProp(String value) {
        this.stringProp = value;

    public Integer getIntObjProp() {
        return intObjProp;

    public void setIntObjProp(Integer intObjProp) {
        this.intObjProp = intObjProp;

    public int getIntProp() {
        return intProp;

    public void setIntProp(int intProp) {
        this.intProp = intProp;


<action  path="/someAction"

The jsp

<html:form action="/" >

<TABLE border="1" borderwidth="1" cellspacing="0">

<logic:iterate id="cartItem" name="theForm"
type="" property="cart.cartItems">

    <TD><html:text name="theForm" property="indexable.stringProp"
indexed="true" /></TD>
    <TD><html:text                property="indexable.stringProp"
indexed="true" /></TD>
    <TD><html:text 		    property="indexable"            indexed="true"

: This is just an example: I have only 1 of these lines in the real file.
: stuff omitted
: Note that I iterate over another collection (which has the same size)

What I would expect:

	<html:text property="indexable.stringProp" indexed="true" />

to be rendered as something like :

<INPUT TYPE="TEXT" NAME="theForm.indexable[12]"  VALUE="<%=
theForm.getIndexable(12).getStringProp() %>" >

Where because of omitting the "name" attribute the formbean should be

This is what I get in reality:

When I include the name attribute:
   ERROR: "No getter method for property indexable.stringProp of bean
When I omit the name attribute:
   ERROR: "No getter method for property indexable.stringProp of bean
When also omit stringProp:
   ERROR: "No getter method for property indexable of bean

So, if somebody could spell it out for me, real slowly, I would be very


Marcel Maré



View raw message