用JSTL标签访问list且判断list的选中项

本文介绍如何利用Sun公司的JSTL标签访问存储在request对象中的List集合,并在JSP页面展示。通过Struts框架的Action将List对象放入request,再用JSTL标签遍历并选择性高亮。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文将向大家讲述如何通过sun公司的jstl标签来访问list对象,并在jsp页面进行显示

  一般而言,list对象会存储在request对象,session对象中,一般采用框架(比如说Struts框架中的Action)完成把list对象置入request对象中,

  XXAction{

  public ActionForward execute(

  ActionMapping mapping,

  ActionForm form,

  HttpServletRequest request,

  HttpServletResponse response) {

  /*从session中获得用户信息*/

  HttpSession session=request.getSession();

  User user =(User)session.getAttribute("user");

  request.setAttribute("user",user);

  /*建立rolelist*/

  List rolelist =new ArrayList();

  for(int i=0;i<5;i++){

  Role role= new Role(i,"role"+i);

  rolelist.add(role);

  }

  request.setAttribute("role_list",rolelist);

  }

  本文的讲解重点是jstl标签部分:

  <%@ taglib uri="/jstl/core" prefix="c"%>

  <c:set var="user" value="${user}" />

  <tr bgcolor="#FFFFFF">

  <td align="center" valign="top">

  <!--

  因为涉及到中文字符问题,所以通过使用struts标签来读者资源文件中的adduser.role项,对应的中文编码为:角色-->

  <bean:message key="adduser.role" /></td>

  <td>

  <select name="role">

  <c:forEach var="ro" items="${role_list}"><!--访问request中的role_list对象-->

  <c:choose>

  <c:when test="${user.role==ro.role_name}"><!--判断,相当于if(user.getrole().equlas(rolgetrolename()))假如user中的role和list中的role相同就在select中选中(高亮)-->

  <option selected="selected"

  value="<c:out value="${ro.role_id}"/>"><!--设定value项,这样保证页面中看到的是name,当选中

  以后,传到接受端实际为id-->

  <c:out value="${ro.role_name}"/><!--看到的是role_name-->

  </option>

  </c:when>

  <c:otherwise><!--相当于else-->

  <option value="<c:out value="${ro.role_id}"/>"><!--原理同上-->

  <c:out

  value="${ro.role_name}"></c:out></option>

  </c:otherwise>

  </c:choose>

  </c:forEach><!--循环end-->

  </select></td>

  </tr>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值