1. 程式人生 > >jstl標籤forEach用法小結,後臺接收表單(字串和陣列)

jstl標籤forEach用法小結,後臺接收表單(字串和陣列)

對於在頁面上顯示大量資料庫查詢出來的內容時,有必要使用jstl的迴圈語句forEach。
先從後臺查詢:List<Map<String,Object>> systemNameList = sendPowerService.getAllSystemNameService();
再從後臺賦值:request.setAttribute("systemNameList", systemNameList);
最後在前臺迴圈顯示。
如下兩個例子:
示例1、
<c:forEach var="paramList" items="${paramList}" varStatus="loop">
<c:if test="${(loop.count-1)%4==0}">
<tr class="tdbg">
</c:if>
<td><input name="params"  id="param_${paramList.pd_pid}"
value="${paramList.pd_pid}" type="checkbox" >${paramList.pd_pname}</td>
</c:forEach>
tip:1.items獲取後臺paramList,並賦值給var的paramList,下面就可以在forEach迴圈中用paramList;
因為paramList的子元素是Map<String,Object>型的,要獲取map裡的Object值直接用paramList.(mapString-可參看java中的值賦值)獲取

2.loop是id從0自增,${(loop.count-1)%4==0}返回true或者false。

3.如果是form表單提交,後臺如何接收陣列?答:String[] array_params = request.getParameterValues("params");注意:後臺接收的是name值。
4.如果是form表單提交,後臺如何接收普通引數?答:String id = request.getParameter("id");

示例2、
<select id="txt_status"
name="txt_status" style="width: 156px">
<option value=-1 selected>選擇推送型別</option>
<c:forEach var="systemNameList" items="${systemNameList}" varStatus="loop">
<option value="${systemNameList.sysname}">${systemNameList.sysname}</option>
</c:forEach>
</select>