Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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

  • Autor

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

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>

 

  • Autor

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 Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.