Ich habe ein Problem beim Exportieren meiner Daten in das Excel-Blatt, das liegt an Code, den andere Entwickler in meinem Team gemacht haben. Das Hauptproblem besteht also darin, die Daten mit JSP-Seite in Excel oder .cvs zu exportieren, ohne HTML-Code zu verwenden. Irgendein Vorschlag würde mir auch helfen, in meiner sich entwickelnden Arena zu erforschen. Danke für Ihre Bemühungen.
Besser ein Servlet dafür verwenden. Roher Java-Code gehört nicht in eine JSP-Datei, das ist einfach ein Rezept für Wartungsprobleme .
Um zu beginnen, erstellen Sie eine einfache Java-Dienstprogrammklasse, die zum Beispiel eine List<List<T>>
oder eine List<Data>
(wobei Data
für eine Zeile steht), die den CSV-Inhalt darstellt, und OutputStream
als Methodenargumente und Schreiblogik verwendet erledigt die Datenkopieraufgabe.
Sobald Sie das zum Laufen gebracht haben, erstellen Sie eine Servlet-Klasse, die einen CSV-Dateibezeichner als Anfrageparameter oder Pfadinfo verwendet (ich empfehle die Verwendung von pathinfo, da ein bestimmter Webbrowser von einem Team in Redmond bei der Erkennung von filename / mimetype fehlschlägt) , verwendet den Bezeichner zum Abrufen des List<List<T>>
oder List<Data>
von irgendwo und schreibt es in den OutputStream
des HttpServletResponse
zusammen mit einer Reihe korrekter Antwortheader.
Hier ist ein grundlegendes Kickoff-Beispiel:
%Vor%Hier ist ein Beispiel, wie Sie es verwenden könnten:
%Vor%Und in einem Servlet können Sie grundsätzlich tun:
%Vor% Ordnen Sie dieses Servlet auf etwas wie /csv/*
zu und rufen Sie es als etwas wie http://example.com/context/csv/filename.csv
auf. Das ist im Grunde alles. Der Dateiname im Pfadinfo ist wichtig, da ein bestimmter Webbrowser, der von einem Team in Redmond entwickelt wurde, den filename
-Teil des Content-Disposition
-Headers ignoriert und stattdessen den letzten Pfadteil der URL verwendet.