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> <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");
取得這一行的關鍵值,再通過關鍵值檢索資料庫得到詳細資訊。