Search code examples
jspstruts2iteratorjavabeansvaluestack

How to Iterate through object property inside a bean in my jsp


I have a list products with these attributes :

  • Identifier
  • Color
  • Size
  • Supplier

Supplier attribute is an object that has these attributes :

  • Name
  • Phone

For each product in my list, i'd like to display the identifier & the supplier name. How can i do this with struts / jstl ?

Here is what i'm trying with no success :

<s:iterator value="products">
    <tr>
        <td><s:property value="identifiant"/></td>
        <td><s:property value="supplier.name"</td>
    </tr>
</s:iterator>

Solution

  • There should be getters for each attribute. If the products is the property of the Action class then it should have

    //default constructor
    
    public List<Product> getPoducts(){...} //getter
    

    In the Product class

    //default constructor
    
    public String getIdentifier(){...} //getter
    public String getColor(){...} //getter
    public String getPhone(){...} //getter
    public String getSupplier(){...} //getter
    

    In the Supplier class

    //default constructor
    
    public String getName(){...} //getter
    public String getPhone(){...} //getter
    

    In JSP

    <s:iterator value="products">
        <tr>
            <td><s:property value="identifier"/></td>
            <td><s:property value="supplier.name"/></td>
        </tr>
    </s:iterator>