jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="js/jquery-1.4.2.js"></script>
<script type="text/javascript">
function addOpt(){
$("#opt").clone().insertAfter("#opt");

}
function remOpt(){
alert($("#opt").length);
}
</script>
</head>
<body>
<s:form action="saveOS" theme="simple">
<s:label value="添加议题"></s:label>

<br/><s:textfield label="标题" id="title" name="sub.subtitle"></s:textfield>
<br/><s:radio list="#{0:'多选',1:'单选' }" required="true" name="sub.subtype" listKey="key" listValue="value" ></s:radio>
<br/><s:label value="选项内容"></s:label>

<br/><s:textfield name="opts.optcontext"  ></s:textfield><br/>
<s:div id="opt">
<s:textfield name="opts.optcontext" ></s:textfield>
</s:div>
<a href="javascript:addOpt()">添加一个选项</a>
<a href="javascript:remOpt()">删除一个选项</a>
<s:submit value="提交议题"></s:submit>
</s:form>
</body>
</html>后台怎么在action里用一个对象数组接受添加出来的文本框的值?jQueryStrutsaction

解决方案 »

  1.   

    struts可以自动的根据下标封装list泛型集合信息。
    在页面上你只需要每次添加的选项的name设置成'list[下标].属性'这种形式,同时你在action中创建该list的get/set那么就可以封装进去了
      

  2.   

    struts2很强大的啊,只要你再前端的input中设置name属性,在后台就可以取了。
    或者你也可以将所有值用特殊符号连起来(比如下划线 $ 等)然后在传到后台,用split拆分。