我现在遇到的问题.JSP上有很多明细项目,每条明细项目都一个下拉框(SELECT)
初始化是下拉框的值都是从DB里取得的.当我在画面上点一个按钮提交给ACTION时,如何再次取得下拉框的值?我现在的做法是:到DB里再取一次.假如有100行明细就得连100次DB,速度很慢.我现在想寻找别的方法,是不是画面上的所有值都在REQUEST里,我如何在REQUEST里去得下拉框的值?初始化后生成的HTML(明细的SELECT部分):
<select name="strDStxcd" size="1" style="width: 106">
<option value=""></option>
<option value="00">対象外(不・非)</option>
<option value="03">免税売上</option>
<option value="99">対象外(固定)</option>
</select>
我可以用request.getParameterValues()取得strDStxcd的一个数组,
但是数组里只有下拉框选中的值.我想取得下拉框里所有的值.请问大家如何处理.
初始化是下拉框的值都是从DB里取得的.当我在画面上点一个按钮提交给ACTION时,如何再次取得下拉框的值?我现在的做法是:到DB里再取一次.假如有100行明细就得连100次DB,速度很慢.我现在想寻找别的方法,是不是画面上的所有值都在REQUEST里,我如何在REQUEST里去得下拉框的值?初始化后生成的HTML(明细的SELECT部分):
<select name="strDStxcd" size="1" style="width: 106">
<option value=""></option>
<option value="00">対象外(不・非)</option>
<option value="03">免税売上</option>
<option value="99">対象外(固定)</option>
</select>
我可以用request.getParameterValues()取得strDStxcd的一个数组,
但是数组里只有下拉框选中的值.我想取得下拉框里所有的值.请问大家如何处理.
<script language="javascript">
function Check()
{ var length1 = document.addRoleForm.clr1.length;
var arr = new Array(length1);
for (var i = 0; i < length1; i++)
{
arr[i] = document.addRoleForm.clr1[i].value
} document.addRoleForm.action = "addRoleAction.do?resource="+arr;
document.addRoleForm.submit();
}
</script>
<html:select multiple="multiple" property="clr1" size="6">
<option value="plase"/>--请选择--</option>
<html:option value="aa"/>
<html:option value="bb"/>
</html:select>
<html:button value="添 加" onclick="Check();" property="Submit"/>
在ActionForm中定义一个名字为clr1的字符串变量的属性字段,而在Action中,从ActionForm中接收到的clr1的值就是这个select里面所有的值,用逗号隔开的,譬如这个接收到的clr1就是:
plase,aa,bb
你的办法比较简单可行.
谢谢大家的回答.还有没有更简单点的做法呢?
我的JSP:<html:select size="1" name = "oneNyuukin" property="strDStxcd"> <html:optionsCollection property="listDStxcd" value="value" label="label" name="oneNyuukin" /></html:select>
那request里面的还是那些,没有变。
初始化时,放在REQUEST里,生成画面了.
然后再提交,REQUEST里还有值吗?
应该是没有了吧?因为这次请求已经结束了啊.
<html:select property="xxx" styleClass="input">
<option value="">Any</option>
<html:options collection="xxx" property="aaa" labelProperty="bbb" />
</html:select>
aaa 为你select 的value
bbb为名称
xxx为你serAttribute的名字