1. 程式人生 > >jsp畫面間checkbox,radio,select,詳細button傳值

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

取得這一行的關鍵值,再通過關鍵值檢索資料庫得到詳細資訊。