1.checkbox
①多个选中的checkbox向后画面传值
前画面jsp:
每个变量名字 : haoma
要迭代的Map : LinkedHashMay<String,String>
<c:forEach var="每个变量名字" items="要迭代的Map" varStatus="每个对象的状态"
begin="循环从哪儿开始" end="循环到哪儿结束" step="循环的步长">
<input type="checkbox" name="daxiaohao" value="haoma.key">haoma.value</input>
</c:forEach>
后画面action:
String[] checkboxArr = (String[])request.getParameterValues(daxiaohao);
10个复选框中有3个选中,那么checkboxArr 中就有选中的3个值。
②从一览向更新画面传值, 即从action往jsp传选中的checkbox
checkedSegmentList是所有选中checkbox的map
<c:forEach var="segement" items="${GPM020FormBean.segmentList}" begin="0" varStatus="status"> <c:set var="checkedFlg" value="0" /> <c:forEach var="entry" items="${GPM020FormBean.checkedSegmentList}"> <c:if test="${segement.segmentId == entry.key}"> <c:set var="checkedFlg" value="1" /> </c:if> </c:forEach> <label> <c:if test="${checkedFlg == 0}"> <input type="checkbox" name="segments" value="${segement.segmentId}"/><c:out value="${segement.segmentName}"/> </c:if> <c:if test="${checkedFlg == 1}"> <input type="checkbox" checked="checked" name="segments" value="${segement.segmentId}"/><c:out value="${segement.segmentName}"/> </c:if> </label> <c:if test="${status.index == 6}"> <br/> </c:if> </c:forEach>
2.radio
struts1标签写法
在下一个action的form中能拿到选中的key。
从action到jsp,只要给form中这个项目赋值与哪个key一样,自动选中状态。
注意struts1中form名写类定义名。
<c:forEach var="hyojiFlg" items="${GPM050FormBean.mapHyoujiFlg}" begin="0" varStatus="lbStatus"> <html:radio name="GPM050FormBean" property="hyojiFlg" value="${hyojiFlg.key}"> ${hyojiFlg.value} </html:radio> </c:forEach>
struts2标签写法
设定值同select
注意struts2中form名写action中form的全局变量名。
<s:radio name="" listKey="" listValue=""></s:radio>
3.select
struts1标签写法
在下一个action的form中能拿到选中的key。
从action到jsp,只要给form中这个项目赋值与哪个key一样,自动选中状态。
注意struts1中form名写类定义名。
<html:select name="GPM021_UpdateFormBean" property="groupKigyoKakusyaService" size="1" styleClass="selectBox2"> <html:option value=""></html:option> <c:forEach items="${GPM021_UpdateFormBean.mapGroupKigyoKakusyaService}" var="entry"> <html:option value="${entry.key}">${entry.value}</html:option> </c:forEach> </html:select>
struts2标签写法
注意struts2中form名写action中form的全局变量名。
<s:select name="ga060m01FormBean.bpTblDaoBean.mfGrpKbn" list="#session.GA060M01FormBean.mapMfGrpKbn" listKey="key" listValue="value" id="mfGrpKbn" cssStyle="width:160px;"> </s:select>
4.详细button传值
js提交常用方法
function commitForm(actionPath) { var form = document.forms[0]; form.action = actionPath; form.method = 'POST'; form.submit(); }
详细button带值传递
odd,even:单双数出两个颜色交替的背景
<c:forEach var="coupon" items="${GPM021FormBean.searchResultList}" varStatus="status"> <c:if test="${status.index % 2 == 0}"> <tr class="odd"> </c:if> <c:if test="${status.index % 2 == 1}"> <tr class="even"> </c:if> <td class="detailBtn"> <input name="button" type="button" onclick="commitForm('./GPM021_03DisplayAction.do?action=update&selected=${coupon.couponId}')"/> </td> </c:forEach>
在下一个action中用
request.getParameter("action");
request.getParameter("select");
取得这一行的关键值,再通过关键值检索数据库得到详细信息。