struts2是在action中用同名数组接受jsp传来的数据.

解决方案 »

  1.   

    你可以到百度搜索   ACTIONFORM后端映射  可以找到你的答案,我给你发一段代码如果你还不清楚就自己去搜一下吧
    后端映射ActionForm
    DynaActionForm根据配置文件中的属性在初始化的时候来生成ActionForm。但有时候输入表单是动态生成的。因此表单的AtionForm的属性不能提前知道,所以需要一种新的方法。
     
    Struts允许你将ActionForm属性存储在MAP中而不是JAVA的原子对象。
    public FooForm extends ActionForm {
     
        private final Map values = new HashMap();
     
        public void setValue(String key, Object value) {
            values.put(key, value);
        }
     
        public Object getValue(String key) {
            return values.get(key);
        }
     
    }
    在JSP页面中你可以通过特殊的符号来引用:mapname(keyname)。圆括号在Bean的属性中表明:
    1.ActionForm的所有属性使用Sring做索引
    2.Struts将使用带String参数的getter/setter方法来获取,设置ActionForm的值。
    看如下的例子:
    <html:text property="value(foo)"/>
    这样你将会调用FooForm的getValue方法来得到键值为”foo”的值。为了创建一个包含动态输入域的表单你会如下做:
    <%
            for (int i = 0; i < 10; i++) {
                   String name = "value(foo-" + i + ")";
    %>
                   <html:text property="<%= name %>"/>
                   <br/>
    <%
            }
    %>
     
    除了后端映射属性,你还可以创建后端列表属性。
    public FooForm extends ActionForm {
     
        private final List values = new ArrayList();
     
        public void setValue(int key, Object value) {
            values.set(key, value);
        }
     
        public Object getValue(int key) {
            return values.get(key);
        }
    }
    在你的JSP页面中,你需要用特殊的符号来引用值:listname[index]。