您的位置:程序门 -> java -> 框架、开源



struts1.2中,jsp页面要提交个数不定的变量给action,应当如何做?


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


struts1.2中,jsp页面要提交个数不定的变量给action,应当如何做?
发表于:2008-01-05 11:53:04 楼主
首先是从一个表里读出一些记录,所以记录条数不定
然后针对每一条记录要在一个下拉列表中选出一个值与之对应
最后一起提交
<tr>
        <td> 任务名 </td>
        <td> 负责人 </td>
</tr>
<logic:iterator   id="taskinstance"   name="tasklist">
        <tr>
                <td> <bean:write   name="taskinstance"   property="taskinstancename"/> </td>
                <td>
                        <html:select>
                                <logic:iterator   id="employee"   name="employeelist"   indexid="index">
                                            <html:option   value="index">
                                                      <bean:write   name="employee"   property="username"/>
                                            </html:option>
                                </logic:iterator>
                        </html:select>
                </td>
        </tr>
</logic:iterator>

大概就是这样
首次碰到这种问题,想不出来
发表于:2008-01-05 12:32:291楼 得分:0
struts2是在action中用同名数组接受jsp传来的数据.
发表于:2008-01-05 14:40:272楼 得分:0
你可以到百度搜索       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]。


快速检索

最新资讯
热门点击