![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
JSP里用struts2的<s:iterator>展现数据,带name属性的标签传给action应该是数组,action里怎么取出数组值?
<s:formaction="AAA.action"><s:iteratorvalue="#BBB"id="Value"><s:hiddenname="CCC"></s:...
<s:form action="AAA.action">
<s:iterator value="#BBB" id="Value">
<s:hidden name="CCC"></s:hidden>
......
</s:iterator>
</s:form>
hidden标签的值由JS来赋值,因为数据迭代展现后,会出现多项相同name的标签值,传递给action后,怎么把全部name=“CCC”的这一数组的值全部取到?
我在action里ServletActionContext.getRequest().getParameterValues("CCC"),还是只能取到页面里第一个name=“CCC”的值 展开
<s:iterator value="#BBB" id="Value">
<s:hidden name="CCC"></s:hidden>
......
</s:iterator>
</s:form>
hidden标签的值由JS来赋值,因为数据迭代展现后,会出现多项相同name的标签值,传递给action后,怎么把全部name=“CCC”的这一数组的值全部取到?
我在action里ServletActionContext.getRequest().getParameterValues("CCC"),还是只能取到页面里第一个name=“CCC”的值 展开
2个回答
展开全部
通过ActionContext对象的getParameters()方法,得到请求参数Map,然后通过这个Map来获取请求参数。需要注意的是:当通过parameterMap的键取得参数值时,取得是一个数组对象,即同名参数的值的集合
ActionContext context=ActionContext.getContext();
Map parameterMap=context.getParameters();
String[] cccValueArray=(String[])parameterMap.get("CCC");
//注意是一个数组对象,这个数组就是全部的名为name的标签的值
String cccValue_1= cccValueArray[0];
ActionContext context=ActionContext.getContext();
Map parameterMap=context.getParameters();
String[] cccValueArray=(String[])parameterMap.get("CCC");
//注意是一个数组对象,这个数组就是全部的名为name的标签的值
String cccValue_1= cccValueArray[0];
追问
请问是不是如果页面里用迭代展现的数据整体提交,造成多条数据的控件name相同的情况,就只能用这种方法来把相同name的参数值全部取出?
追答
可以用你的那种方法取,通过request.getParameterValues("CCC")能取到,仍然是一个数组类型的,可以试试看
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询