将中的多个对象映射到struts2中的action类

将中的多个对象映射到struts2中的action类,struts2,Struts2,我有一个包含多个项目对象的jsp页面。并向Shop\u shopCart提供操作。操作。 在action类中有cart对象和多个item对象。如何使用多个列表对象直接从jsp映射到action类。 下面给出了演示类 <s:form action="Shop_shopCart.action"> // multiple items in cart object </form> class ShoppingAction extends ActionSupport{ C

我有一个包含多个项目对象的jsp页面。并向Shop\u shopCart提供操作。操作。
在action类中有cart对象和多个item对象。如何使用多个列表对象直接从jsp映射到action类。 下面给出了演示类

<s:form action="Shop_shopCart.action">
    // multiple items in cart object
</form>

class ShoppingAction extends ActionSupport{
Cart cart = new Cart();
//getters and setters
//action methods
        String shopCart( ) {
                // do some         
        }
}


class Cart{
List<Item> items = new ArrayList<Item>();  
//getters and setters
}

class Item{
String name;
int id;
//getters and setters
}

//购物车对象中的多个项目
类ShoppingAction扩展了ActionSupport{
购物车=新购物车();
//接球手和接球手
//行动方法
字符串购物车(){
//做一些
}
}
班车{
列表项=新建ArrayList();
//接球手和接球手
}
类项目{
字符串名;
int-id;
//接球手和接球手
}
请参阅


简而言之:数组或映射表示法(方括号内有索引或键值)是在表单中提交对象集合的最简单方法。

此示例应该会有所帮助

 <s:form action="saveaction" theme="css_xhtml">
            <s:textfield name="carlist[0].cartid" label="Cart Id"/>
            <s:textfield name="carlist[0].items[0].id" label="Item id"/>
            <s:textfield name="carlist[0].items[0].name" label="Item Name"/>

            <s:textfield name="carlist[1].cartid" label="Cart Id"/>
            <s:textfield name="carlist[1].items[0].id" label="Item id"/>
            <s:textfield name="carlist[1].items[0].name" label="Item Name"/>
            <s:submit value="Click me to submit Cart List"/>
        </s:form>