Zum Inhalt springen

Arraylist in JSP darstellen


Empfohlene Beiträge

Geschrieben (bearbeitet)

Ich versuche eine im Servlet erstellte Arraylist auf einer JSP Seite auszugeben.
Als langen String hab ich das schon geschafft. Das ist aber natürlich nicht gerade praktikabel.

 

Vielleicht hat irgendjemand eine Idee, wie ich das ganze splitten kann?

Bin generell mit diesen "Java Code ind JSP schreiben" sehr unsicher.

Anm: JSTL funktioniert bei mir aus unerfindlichen Gründen nicht. Also muss ich das mit skriplets durchziehen. Für alternativen bin ich aber gerne dankbar :)

JSP File:

 

<body>

    <h2>Result Page test</h2>

    Reisenummer:
    <%=request.getParameter("Reisenummer") %><br>
    Vorgangsnummer:
    <%=request.getAttribute("Vorgangsnummer") %>
    <br>

    


    <table>
        <tr>
          <%
            ArrayList<String> result = (ArrayList<String>) request.getAttribute("Ergebnis");
            for (String res : result) {
          %>
            <td><%=res%>,</td>
          <%}%>
        </tr>
    </table>
</body>

 

 

Auszug aus Servlet, Arraylist Erstellung:

 

@Override
    public ArrayList getErgebnisse(String value) {
    String Reisenummer = "", Ort = "", Dateiname = "", Firma = "", Vorgangsnummer = "", Druckdatum = "";
    
    logger.debug("executing with parameter",value);
    try {
        Class.forName(db_driver);
        con = DriverManager.getConnection(db_string, db_user, db_password);

        stmt = con.prepareStatement(loadQuery("searchbyVN"));
        stmt.setString(incVar(), value);
        resetVar();
        rs = stmt.executeQuery();
        logger.debug("executing Query");

        while (rs.next()) {
        anzahlErgebnisse++;
        if (rs.getString("Reisenummer") != null) {
            Reisenummer = rs.getString("Reisenummer");
            Ergebnis.add(Reisenummer);
        }
        if (rs.getString("Ort") != null) {
            Ort = rs.getString("Ort");
            Ergebnis.add(Ort);
        }
        if (rs.getString("Dateiname") != null) {
            Dateiname = rs.getString("Dateiname");
            Ergebnis.add(Dateiname);
        }
        if (rs.getString("Firma") != null) {
            Firma = rs.getString("Firma");
            Ergebnis.add(Firma);
        }
        if (rs.getString("Vorgangsnummer") != null) {
            Vorgangsnummer = rs.getString("Vorgangsnummer");
            Ergebnis.add(Vorgangsnummer);
        }
        if (rs.getString("Druckdatum") != null) {
            Druckdatum = rs.getString("Druckdatum");
            Ergebnis.add(Druckdatum);
        }
        
        return (ArrayList) Ergebnis;
        
        }

 

 

Auszug aus der doPost Methode:

 

   protected void doPost(HttpServletRequest request,
        HttpServletResponse response) throws ServletException, IOException {

    String Reisenummer, Vorgangsnummer;
    JDBC abfragen = new JDBC();

    Reisenummer = request.getParameter("Reisenummer");

    if (Reisenummer != null) {
        Vorgangsnummer = abfragen
            .getVorgangsnummerbyReisenummer(Reisenummer);
    } else {
        Vorgangsnummer = request.getParameter("Vorgangsnummer");
    }
    
    ArrayList<Ergebnis> al = new ArrayList<Ergebnis>();
    al = abfragen.getErgebnisse(Vorgangsnummer);
    request.setAttribute("Reisenummer", Reisenummer);
    request.setAttribute("Vorgangsnummer", Vorgangsnummer);
    request.setAttribute("Ergebnis", al);

    request.getRequestDispatcher("/WEB-INF/result.jsp").forward(request,
        response);

    }


 

Bearbeitet von abby
Geschrieben

Edit::!!! hat sich erledigt, habs doch mit jtsl geschafft.

 

Nun möchte ich einen Download link generieren auf meiner JSP Seite. Google ist da ehrlich gesagt keine große Hilfe.

Der Link soll generiert werden aus dem Ort der Datei und dem Name. Diese bekomme ich durch jtsl:

<c:forEach items="${Ergebnis}" var="result">
   Ort = <c:out value="${result.ort}"/> <br>
   Dateiname = <c:out value="${result.dateiname}"/> <br>
</c:forEach>

wie setze ich dass zusammen, damit das einen Link auf die Datei ergibt?

Einfach hintereinander hängen geht ja nicht ;)

Geschrieben

Was heißt denn "Einfach hintereinander hängen geht ja nicht"?

 

Ich kann es zwar nicht testen, aber folgendes sollte doch eigentlich funktionieren:
 

<c:forEach items="${Ergebnis}" var="result">
   Dateilink = <c:out value="${result.ort}/${result.dateiname}"/> <br>
</c:forEach>

 

Geschrieben

hm...als ich das hintereinander geschrieben hab war der Pfad leer.

 

Das lag aber daran, dass ich bei dem jtsl Ausdruck Mist gebaut hab.

So gehts, vielen Dank :)

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...