springmvc HttpServletRequest 如何获取c:forEach的值

时间:2022-07-01 01:44:09

如何获取c:forEach的值

?
1
2
3
4
5
6
<c:forEach items="${users}" var="u">
            <label>
                <input name="id"    type="checkbox" value="${u.id } " />
                ${u.username } <br/>
           </label>
        </c:forEach>

前端是多选的,点击选中的对象,然后对象的id往后台传;

后台是在springmvc的controller中使用request.getParameter("id")获取传过来的id。每次只能取一个,要取到选中的多个;

请教怎么做呢?

?
1
String id[] = request.getParameterValues("id");

就行啦~

springmvc向jsp传值以及c:foreach说明

在方法名里添加参数HttpServletRequest request,将要传的值添加到request里:request.setAttribute("list",list);

如果list为单个值,只要在jsp里${list}就可以了,如果是数组的话,就要用到遍历:引入

?
1
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>标签

用foreach遍历:

?
1
2
3
4
<c:forEach var="list" items="${list}">
    <span>${list.id}</span>
    <span>${list.name}</span><br/>
</c:forEach>

如果要横向显示的话:

?
1
2
3
4
5
6
7
8
<tr>
  <c:forEach var="list" items="${list}">
    <td>
    <span>${list.id}</span>
    <span>${list.name}</span><br/>
      </td>
  </c:forEach>
</tr>

关于c:foreach:

?
1
2
3
4
<c:forEach var="每个变量名字"   items="要迭代的list"   varStatus="每个对象的状态"
   begin="循环从哪儿开始"    end="循环到哪儿结束"    step="循环的步长">
      内容
</c:forEach>
  • var:要迭代的list的别名
  • varStatus:迭代变量的名称,用来表示迭代的状态,可以访问到迭代自身的信息
  • begin:如果指定了items,那么迭代就从items[begin]开始进行迭代;如果没有指定items,那么就从begin开始迭代。它的类型为整数。
  • end:如果指定了items,那么就在items[end]结束迭代;如果没有指定items,那么就在end结束迭代。它的类型也为整数。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/carl_jiang/article/details/53585893