Problem: Servlet in JSP einbinden mit <jsp:include>

god_fh_it

Neues Mitglied
Hallo Freunde,

ich entwickle eine Webapp, bei der ich in meiner index.jsp den Inhalt eines Servlets anzeigen lassen möchte. Mit dem Tag <jsp:include/> funktioniert das auch soweit. Das Problem liegt darin, dass nach dem Tag kein Code mehr berücksichtigt wird und somit die index.jsp nicht weiter aufgebaut wird.

Das Servlet erzeugt HTML Quellcode, wodurch eine Tabelle angezeigt wird. Hier der Code des Servlets:

Java:
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException, ClassNotFoundException, SQLException {
        
        response.setContentType("text/html;charset=UTF-8");
        try (PrintWriter out = response.getWriter()) {
       
            energy_data_SessionBeanLocal.csv_import();

            for(int i = 0; i<Energy_data_SessionBean.energydata.size();i++)
            {              
               out.println("<br />" + Energy_data_SessionBean.energydata.elementAt(i).gettag() + "  -   Verbrauch: " + Energy_data_SessionBean.energydata.elementAt(i).getkWh() + " kWh  -  CO2: " + Energy_data_SessionBean.energydata.elementAt(i).getco2() + " kg");
            }
        }

Der Code für die index.jsp sieht folgendermaßen aus:

Java:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>      
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
        <link rel="stylesheet" type="text/css" href="newcss.css">
    </head>
    <body> 
        <div id="bodyOben"> 
            <div id="fb1" class="fb">
                
                  <jsp:include page= "Servlet" flush="true" />        
                
            </div>          
            <div id="fb2" class="fb">
                               
            </div>
        </div>
        <div id="bodyUnten">  
            <div id="fb3" class="fb">
 
            </div>           
            <div id="fb4" class="fb">
               
            </div>                   
        </div>
    </body>
</html>

Also wie gesagt, bis zur Ausgabe des Servlet Inhaltes wird alles problemlos angezeigt, leider kommt danach nichts mehr.
Kann mir da jemand helfen? Habe schon im Internet gesucht, aber konnte leider keine passende Lösung finden.

Vielen Dank im Voraus!
Grüße
 
Hi,
JSP und Servlets sind zwar schon eine Weile her bei mir aber ich versuch's mal. Sieht ja ganz so aus als ob die Seite die du mit include einbindest nicht komplett zu ende geladen wird, und deshalb zeigt er den Rest nicht an. Musst du deinen PrintWriter nicht schließen?
Sprich: out.close();
 
Code:
page= "Servlet"

da ist ein Leerzeichen zu viel 😉

Andererseits ist dein code ein wenig dirty. Ich werd nicht schlau was du eigentlich machen willst.

Kannst du den mal ordentlich formatieren?
Vielleicht noch ein paar Kommentare und dann gehts einfacher für die Leser 😉

Greezi
 

Zurück
Oben