0

请任何人帮助我的要求我正在编写jsp代码以从bean获取数据并以表格格式显示该数据此外我需要将下载选项放在底部以下载“csv”或“Excelsheet”中显示的表格“ 格式。

我的代码将是这样的

     <%@page contentType="text/html" pageEncoding="UTF-8"%>
     <%@ page import = "com.preva.vo.StoppageDetails"%>
     <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
     <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
      <html>
      <head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

       <link href="css/cal.css" rel="stylesheet" type="text/css" />
    <link href="css/sty.css" rel="stylesheet" type="text/css" />
    <link href="css/tabborder.css" rel="stylesheet" type="text/css" />
    </head>
    <body>
             <jsp:include page="Header.jsp" />

        <table align=center border=0 cellspacing=0 cellpadding=0>
        <tr ><td colSpan=5 align=center><b>Overspeed Details</b></td></tr>
        <tr ><td colspan=5 align=center>
        <b><%=request.getParameter("vehicleId") %></b></td></tr>
        <tr><td>From &nbsp;
         <%=session.getAttribute("fromdate") %> 
          &nbsp;to&nbsp;              
        <%=session.getAttribute("startdate") %></td></tr>

        </table><br></br>

 <table class='rptTbl_sortable' width='80%' align=center  border='0'>

      <thead>
      <tr class="rptHdrRow">
     <th id="index" class="rptHdrCol_sort" nowrap>DeviceID</th>
     <th id="date" class="rptHdrCol_sort" nowrap>Date</th>
     <th id="time" class="rptHdrCol_sort" nowrap>Speed</th>
     <th id="statusdesc" class="rptHdrCol_sort" nowrap>Status</th>
             <th id="address" class="rptHdrCol_sort" nowrap>Address</th>
    </tr>
      </thead>
     <tbody>

       <c:forEach items="${sessionScope.overspeeddetails}" var="overspeeddetailsvar">
       <tr class="rptBodyRowOdd">
         <td><c:out value="${overspeeddetailsvar.deviceID}">     </c:out></td>
     <td><c:out value="${overspeeddetailsvar.TIMESTAMP}"></c:out></td>  
      <td><c:out value="${overspeeddetailsvar.speed}"></c:out></td>
      <td><c:out value="${overspeeddetailsvar.statuscode}"></c:out></td>
      <td><c:out value="${overspeeddetailsvar.address}"></c:out></td>

     </tr>
            <tr class="rptBodyRowEven">
         <td><c:out value="${overspeeddetailsvar.deviceID}"></c:out></td>
            <td><c:out value="${overspeeddetailsvar.TIMESTAMP}"></c:out></td>   
         <td> <c:out value="${overspeeddetailsvar.speed}"></c:out></td>
       <td><c:out value="${overspeeddetailsvar.statuscode}"></c:out></td>
       <td><c:out value="${overspeeddetailsvar.address}"></c:out></td>

         </tr>  </c:forEach>    
    </tbody>            
  </table> 
    </body>
    </html>
4

2 回答 2

0

因为您的数据存储在会话中,您可以简单地为 CSV 创建新的 JSP,其中将包含:

  • 的修改版本<c:forEach>
  • text/csv<@ page作为指令中声明的内容类型
  • Content-disposition标头设置为attachment

此页面将从您的主 JSP 链接。对于 excel 二进制格式,您可能需要一些库。从架构的角度来看,这是 MVC 模式的典型示例:您有一个控制器,它准备模型(在您的案例中是超速细节)和多个视图:html 表、csv 和 excel 文件。

于 2013-10-31T13:26:12.243 回答
0

让它指向一些 servlet,它将 PDF 文件写入响应的输出流,重要的是,将内容处置标头设置为“附件”。这将导致网络浏览器弹出“另存为”对话框(您称自己为“下载选项”)。

您可能会从中得到一些想法:更多

于 2013-12-18T11:35:10.020 回答