您的位置:首页 > Web前端 > JavaScript

jstl标签forEach用法小结,后台接收表单(字符串和数组)

2017-02-27 20:42 453 查看
对于在页面上显示大量数据库查询出来的内容时,有必要使用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>

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: