jsp画面间checkbox,radio,select,详细button传值

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>
	&nbsp;
	<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");

取得这一行的关键值,再通过关键值检索数据库得到详细信息。


猜你喜欢

转载自blog.csdn.net/thankna/article/details/80444941