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 :)

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...