webwork如何获取jsp页面提交上来的多组radio值变成数组?

jsp页面提交很多组radio 每组radio name不同,比如:
待核实

交易失败

交易成功

               <input type=radio name="state2" value="3" checked />待核实<br/>
               <input type=radio name="state2" value="5" />交易失败<br/>
               <input type=radio name="state2" value="1" />交易成功<br/> 

想问,提交之后再接受的java代码里,如何把这些提交值按顺序封装好在一个数组里面。。

如果name相同就好办,直接
String statelist[]=state.split(", ");

可是name相同的话,整个页面只能选一组里面的一个结果。。其他组一选,之前选过的就消失了。整个页面变成一个单选页面。很纠结

5个回答

这个简单你可以用枚举类。你页面就用form正常提交就可以,在后台直接可以用枚举类得到想要的结果。
如:for (Enumeration e = request.getParameterNames(); e
.hasMoreElements();) {
//得到某个input的name String para = e.nextElement().toString();
//得到某个input的name对应的value
String state = request.getParameter(para);
}

其实你可以定义两个变量撒,分别接收这两个值,然后再封装成数组

你页面应该是用游标循环取值对吧state后面的数字可以的到最后一个,用隐藏域存起来,在java代码里先取到request然后循环遍历state1、state2、state3、、、总可以吧

我还真不知道什么比枚举处理这个问题更好的呢,你form里有其他信息该怎么处理就怎么处理不耽误的,只是用枚举单独处理一下radio嘛,很简单的事儿。
你只是在循环里稍加处理就好了。
for (Enumeration e = request.getParameterNames(); e
.hasMoreElements();) {
String name= e.nextElement().toString();
if (para.startsWith("state"){
String value= request.getParameter(name);
}
}

那个name每次取到是页面一个标签的name值,value是对应的值。不信不满足你的需求,只能说你没理解怎么处理。

没有创建那 ,用啥也能获得到request,我曾经用过Struts2是这么获得的 webworkHttpServletRequest request = ServletActionContext.getRequest();

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问