0

ビーンからデータを取得し、そのデータをテーブル形式で表示するためのjspコードを書いています。さらに、表示されたテーブルを「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

PDFファイルを応答の出力ストリームに書き込み、重要なことに、コンテンツ処理ヘッダーを「添付ファイル」に設定するサーブレットを指すようにします。これにより、Web ブラウザーに「名前を付けて保存」ダイアログが表示されます (自分自身を呼び出す「ダウンロード オプション」)。

ここからいくつかのアイデアが得られるかもしれません:もっと見る

于 2013-12-18T11:35:10.020 に答える
0

データはセッションに保存されるため、以下を含む CSV 用の新しい JSP を簡単に作成できます。

  • の修正版<c:forEach>
  • text/csv<@ pageディレクティブで宣言されたコンテンツ タイプとして
  • Content-dispositionへのヘッダーの設定attachment

このページは、メインの JSP からリンクされます。Excel バイナリ形式の場合、おそらくそのためのライブラリが必要になります。アーキテクチャの観点からは、これは MVC パターンの典型的な例です。モデルを準備する 1 つのコントローラー (この場合は overspeeddetails) と、複数のビュー (html テーブル、csv、および Excel ファイル) があります。

于 2013-10-31T13:26:12.243 に答える