Jsp遍历后台传过来的List三种方法

2024-04-15 19:08

本文主要是介绍Jsp遍历后台传过来的List三种方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1:使用jstl标签 (可以和自定义标签配合使用)

首先引用jstl标签


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


然后使用foreach标签


  1. <c:forEach items="${list}" var="user" varStatus="vs">  
  2.         <tr>  
  3.               
  4.              <td>  
  5.                 <s:property value="#vs.index+1"/>  
  6.              </td>  
  7.              <td align = "center">${user.PId}</td>  
  8.              <td align = "center">${user.PLoginname}</td>  
  9.              <td align = "center">${user.PUserName}</td>  
  10.              <td align = "center">${user.PEmail}</td>  
  11.              <td align = "center"><html:department pdeptid="${user.PDeptid}"></html:department></td> <!-- 自定义标签 -->  
  12.          </tr>  
  13. </c:forEach>  

可以用<c:if test="${not empty list}"></c:if>   和 <c:if test="${not empty list}"></c:if> 来处理是否为空的情况。如果不为空,显示值,为空的话,显示无记录等。

后台可以把list放到值栈或者放到request.例如:request.setAttribute("list", XXXXlist);

 

2:使用jsp内嵌java代码遍历List (在后台把List放到session中,如果是大数据量,不应使用此方法)

首先在后台把list放入到session中

copy
  1. request.getSession().setAttribute(<span style="color:#ff0000;">Data.ALLNEWSLIST</span>, list);  

红色标记的Data.ALLNEWSLIST 为常量 在com.xiami.onlineshop.common包下的Data类中定义

copy
  1. public static final String ALLNEWSLIST="ALLNEWSLIST";  


jsp代码:(注意标红的代码不要忘记引入对应的类)


  1. <%@ page language="java" import="java.util.*,<span style="color:#ff0000;">com.xiami.onlineshop.common.*,com.xiami.onlineshop.data.*" </span>pageEncoding="GBK"%>  
  2.   
  3. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  4. <html>  
  5.   <head>  
  6.      
  7.   </head>  
  8.     
  9.   <body>  
  10.     <%     
  11.         String ntype=null;  
  12.         int pagenum=1;  
  13.         if(request.getParameter("pagecurrent")!=null){   
  14.         pagenum=Integer.parseInt(request.getParameter("pagecurrent"));   
  15.     }   
  16.         List list=null;  
  17.         if(session.getAttribute(Data.ALLNEWSLIST)!=null){  
  18.             list = (List)session.getAttribute(Data.ALLNEWSLIST);  
  19.             int l = list.size();  
  20.             %>  
  21.         <table border=1 width="100%">  
  22.         <tr bgcolor="#8E8E8E">>>首页>商城动态</tr>  
  23.         </table>  
  24.               
  25.                   
  26.             <br><br>    </font></center>  
  27.             <font color=#272727><%=pagenum %><Br><br></font>  
  28.                 <table>  
  29.             <%  
  30.             for(int i=0;i<l;i++){  
  31.                 News news =(News)list.get(i);  
  32.                 ntype=news.getNtype();  
  33.                   
  34.                 %>  
  35.                     <tr bgcolor="#93FF93">  
  36.                         <td bgcolor="#6C6C6C"><%=news.getNid() %></td>  
  37.                         <td bgcolor="#ADADAD"><a href="servlet/ShowDetailNews?nid=<%=news.getNid() %>"><%=news.getNtitle() %></a></td>  
  38.                           
  39.                     </tr>  
  40.                 <%  
  41.             }  
  42.             %>  
  43.               
  44.                 </table><br>  
  45.                 <a href="servlet/ShowAllNews?page=1&type=<%=ntype %>">首页</a>   
  46.                 <a href="servlet/ShowAllNews?page=<%=pagenum-1 %>&type=<%=ntype %>">上一页</a>   
  47.                 <a href="servlet/ShowAllNews?page=<%=pagenum+1 %>&type=<%=ntype %>">下一页</a>   
  48.                 <a href="servlet/ShowNewsEndPage?type=<%=ntype %>">尾页</a>  
  49.                   
  50.             <%  
  51.         }  
  52.      %>  
  53.   </body>  
  54. </html>  



3:使用Struts标签


co
  1. <%@ taglib prefix="s" uri="/struts-tags"%>  

cop
  1. <s:iterator value="#request.userList" status="stat" id="sd">  
  2.                             <tr align="center">  
  3.                                 <td>  
  4.                                     <s:property value="#sd[6]" />  
  5.                                 </td>  
  6.                                 <td>  
  7.                                     <s:property value="#sd[1]" />                             <span style="WHITE-SPACE: pre">                         </span></td>  
  8.                                 <td>  
  9.                                     <s:property value="#sd[2]"></s:property>  
  10.                                 </td>  
  11.                                 <td>  
  12.                                     <s:property value="#sd[4]"></s:property>  
  13.                                 </td>  
  14.                                 <td>  
  15.                                     <s:property value="#sd[5]"></s:property>  
  16.                                 </td>  
  17.                             </tr>  
  18. </s:iterator>  

这篇关于Jsp遍历后台传过来的List三种方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/906666

相关文章

Java中使用Hutool进行AES加密解密的方法举例

《Java中使用Hutool进行AES加密解密的方法举例》AES是一种对称加密,所谓对称加密就是加密与解密使用的秘钥是一个,下面:本文主要介绍Java中使用Hutool进行AES加密解密的相关资料... 目录前言一、Hutool简介与引入1.1 Hutool简介1.2 引入Hutool二、AES加密解密基础

Pytest多环境切换的常见方法介绍

《Pytest多环境切换的常见方法介绍》Pytest作为自动化测试的主力框架,如何实现本地、测试、预发、生产环境的灵活切换,本文总结了通过pytest框架实现自由环境切换的几种方法,大家可以根据需要进... 目录1.pytest-base-url2.hooks函数3.yml和fixture结论你是否也遇到过

鸿蒙中Axios数据请求的封装和配置方法

《鸿蒙中Axios数据请求的封装和配置方法》:本文主要介绍鸿蒙中Axios数据请求的封装和配置方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.配置权限 应用级权限和系统级权限2.配置网络请求的代码3.下载在Entry中 下载AxIOS4.封装Htt

Redis实现延迟任务的三种方法详解

《Redis实现延迟任务的三种方法详解》延迟任务(DelayedTask)是指在未来的某个时间点,执行相应的任务,本文为大家整理了三种常见的实现方法,感兴趣的小伙伴可以参考一下... 目录1.前言2.Redis如何实现延迟任务3.代码实现3.1. 过期键通知事件实现3.2. 使用ZSet实现延迟任务3.3

idea maven编译报错Java heap space的解决方法

《ideamaven编译报错Javaheapspace的解决方法》这篇文章主要为大家详细介绍了ideamaven编译报错Javaheapspace的相关解决方法,文中的示例代码讲解详细,感兴趣的... 目录1.增加 Maven 编译的堆内存2. 增加 IntelliJ IDEA 的堆内存3. 优化 Mave

Java String字符串的常用使用方法

《JavaString字符串的常用使用方法》String是JDK提供的一个类,是引用类型,并不是基本的数据类型,String用于字符串操作,在之前学习c语言的时候,对于一些字符串,会初始化字符数组表... 目录一、什么是String二、如何定义一个String1. 用双引号定义2. 通过构造函数定义三、St

Spring Security方法级安全控制@PreAuthorize注解的灵活运用小结

《SpringSecurity方法级安全控制@PreAuthorize注解的灵活运用小结》本文将带着大家讲解@PreAuthorize注解的核心原理、SpEL表达式机制,并通过的示例代码演示如... 目录1. 前言2. @PreAuthorize 注解简介3. @PreAuthorize 核心原理解析拦截与

一文详解JavaScript中的fetch方法

《一文详解JavaScript中的fetch方法》fetch函数是一个用于在JavaScript中执行HTTP请求的现代API,它提供了一种更简洁、更强大的方式来处理网络请求,:本文主要介绍Jav... 目录前言什么是 fetch 方法基本语法简单的 GET 请求示例代码解释发送 POST 请求示例代码解释

Java图片压缩三种高效压缩方案详细解析

《Java图片压缩三种高效压缩方案详细解析》图片压缩通常涉及减少图片的尺寸缩放、调整图片的质量(针对JPEG、PNG等)、使用特定的算法来减少图片的数据量等,:本文主要介绍Java图片压缩三种高效... 目录一、基于OpenCV的智能尺寸压缩技术亮点:适用场景:二、JPEG质量参数压缩关键技术:压缩效果对比

Feign Client超时时间设置不生效的解决方法

《FeignClient超时时间设置不生效的解决方法》这篇文章主要为大家详细介绍了FeignClient超时时间设置不生效的原因与解决方法,具有一定的的参考价值,希望对大家有一定的帮助... 在使用Feign Client时,可以通过两种方式来设置超时时间:1.针对整个Feign Client设置超时时间