原来看到actionForm里可以放一个Map属性的方式,可以满足Jsp里有多个不固定html:text的情况。
你查一查资料,替换为你的radio应该可以的。
我通常的做法是用javascript,每次点击这些radio,都会调用一个function,把选择的结果写入一个hidden隐藏域,比如点了第一个radio,Hidden里就加入radioA!Value1,点了第二组radio再加入就变成radioA!Value1$radioB!Value1,如果变化了第一组的选择,就要解析以下Hidden中的内容进行修改,就变成radioA!Value2$radioB!Value1。
如此,可以把多组radio的结果都记录在这个hidden中,actionForm里只需要一个属性与hidden对应即可。
数据提交到action后,用String的split方法切分它们,先分出每组用$符号,再对每组用!符号切分,即可得到不同组名的值是多少了。
现在我的系统很多地方都是用这种方式,非常有效。如果你对javascript还算熟悉,这很简单就可以实现了。
不然就看看Map的那种方式。
你查一查资料,替换为你的radio应该可以的。
我通常的做法是用javascript,每次点击这些radio,都会调用一个function,把选择的结果写入一个hidden隐藏域,比如点了第一个radio,Hidden里就加入radioA!Value1,点了第二组radio再加入就变成radioA!Value1$radioB!Value1,如果变化了第一组的选择,就要解析以下Hidden中的内容进行修改,就变成radioA!Value2$radioB!Value1。
如此,可以把多组radio的结果都记录在这个hidden中,actionForm里只需要一个属性与hidden对应即可。
数据提交到action后,用String的split方法切分它们,先分出每组用$符号,再对每组用!符号切分,即可得到不同组名的值是多少了。
现在我的系统很多地方都是用这种方式,非常有效。如果你对javascript还算熟悉,这很简单就可以实现了。
不然就看看Map的那种方式。
,在jsp显示的时候,对应出多个radio这样的复选框,选择后怎么提交呢,可以不用actionForm.
jsp:
<form action="你的action" methed="post"/>
......
<input type="radio" name="aaa" value="你设定标示这个被选中的值"....>
<input type="radio" name="aaa" value="你设定标示这个被选中的值"....>
<input type="radio" name="aaa" value="你设定标示这个被选中的值"....>
......
</form>
action:
String[] selected=httpServletRequest.getParameterValues("aaa");
然后:
for(int i=0;i<seleced.length;++i)
{
aaa1=selected[i]
}
这样就得到复选框的值了
但是我对javascript不是太熟悉
又没有你刚才说的这样做的一段源码阿,能否贴出来让我看看这个function怎么写的
谢谢!
但是你这样写只有一组radio的情况阿,因为只有一个name。
但是我的页面有很多组的radio,并且不固定数量
好像用同一个name不行哦?
比如js里。
var hiddenObj = document.all("此处填一个hidden的id").value;
以上可以得到一个hidden域的值。
var datas=hiddenObj.split("$");
可以用$符号切分值。
for(var i=0;i<datas.length;i++){
var eachRadio = datas[i];
}
循环每一组radio存在hidden域中的内容。
你可以把eachRadio再切分,比如var radioDatas = datas[i].split("!");
现在radioDatas[0]就是前边的radioA,
radioDatas[1]就是Value1。
你需要做的是判断,哪些存在了,是不是要修改值,哪些不存在就添加进去。还要写一个function,比如
function insertValue(name, value){}
要做的就是把一个radio的名称和选择的值插入这个Hidden。
然后在动态生成radio标记的时候,每个radio的onClick=insertValue("radio的名称","值")。最后在action里得到这个Hidden的值后,用Java的方法取出每一组的内容就可以了。
说的不是很详细,最主要的是你要会用javascript。呵呵,虽然不用精通,不过做web开发的程序员应该要会一点的。