Skorpion81 Geschrieben 16. März 2004 Geschrieben 16. März 2004 Also.. da ist schon das nächste Problem:-) Ich habe jetzt eine Java Klasse erstellt die heißt: HTML in einem Servlet kann man eine Instanz von dieser Klasse bilden und dann die Methode "makeHTML()" aufrufen. Dann wird dynamisch ein schönes Layout erstellt. Dazu hatte ich eine Vorlage in reinem HTML, welches CCS benutzt. Wenn ich die original HTML seiten aufrufe so funktioniert das mit der Formatierung wunderbar, rufe ich aber das Servlet auf, so steht alles nur in Times New Roman dort. Die CSS Datei habe ich in folgenden Ordner geschoben : c:\tomcat\webapps\vermittlungsportal\s2002.ccs Die Servlets liegen unter: c:\tomcat\webapps\vermittlungsportal\WEB-INF\classes\ wenn ich nun im I-Explorer http://localhost:8080/vermittlungsportal/HelloWorld eingebe (also das Servlet aufrufe) so sehe ich es, jedoch nicht so formatiert wie es das CCS es hätte formatieren sollen. rufe ich aber http://localhost:8080/vermittlungsportal/HelloWorld.html (also das original Html file) auf so ist alles wunderbar formatiert. In meinem servlet bzw. in der Methode "makeHTML" ist das ccs folgender Maßen eingebunden: <link rel="stylesheet" type="text/css" href="s2002.css"> Vielleicht weiß einer von euch was? Zitieren
zirri Geschrieben 16. März 2004 Geschrieben 16. März 2004 Original geschrieben von Skorpion81 Die CSS Datei habe ich in folgenden Ordner geschoben : c:\tomcat\webapps\vermittlungsportal\s2002.ccs Die Servlets liegen unter: c:\tomcat\webapps\vermittlungsportal\WEB-INF\classes\ wenn ich nun im I-Explorer http://localhost:8080/vermittlungsportal/HelloWorld eingebe (also das Servlet aufrufe) so sehe ich es, jedoch nicht so formatiert wie es das CCS es hätte formatieren sollen. rufe ich aber http://localhost:8080/vermittlungsportal/HelloWorld.html (also das original Html file) auf so ist alles wunderbar formatiert. In meinem servlet bzw. in der Methode "makeHTML" ist das ccs folgender Maßen eingebunden: <link rel="stylesheet" type="text/css" href="s2002.css"> Vielleicht weiß einer von euch was? hi, den link auf die externe css-datei wuerde ich context-relativ schreiben, hiesse : <link rel="stylesheet" type="text/css" href="/s2002.css"> da das file hier c:\tomcat\webapps\vermittlungsportal\s2002.ccs liegt, muesste es reichen... ich geh mal davon aus, dass das .css ein Schreibfehler ist, oder ? gruss Zitieren
Skorpion81 Geschrieben 17. März 2004 Autor Geschrieben 17. März 2004 Hm... also das ich css geschrieben habe war ein Tippfehler... und ich habe die Pfadangabe für das ccs file abgeändert auf /s2002.ccs Aber es geht immer noch nicht :confused: Hat wer noch eine andere Idee? Also noch mal genauer zu dem Aufruf: Ich habe ein Servlet (Test) in diesem Servlet erzeuge ich eine Instanz von der Klasse HTML und rufe dort die Methoden: setTitel(String s), setprimNav(String [] s), setsekNav(String s), setContent(String s).... auf dann ist alles soweit vorbereitet, dass ich die Methode public String makeHTML() aufrufen kann. Wie man sieht bekomme ich dann einen String zurück indem der gesamte HTML-Code drin ist. In dem Servlet Test sieht das ganze dann wie folgt aus: String feld[] []=new String[2][2]; feld[0][0]="Testlink"; feld[0][1]="index.jsp"; feld[1][0]="zweiter Testlink"; feld[1][1]="arbeitgeber.html"; HTML h=new HTML(); h.setTitel("Test");h.setContent("Das ist ein Test", "schwache Überschrift","los gehts <br> komm schon!!<br> jetzt aber!"); h.setPrimNav(feld); h.setSekNav(); response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println(h.makeHTML()); Und wie gesagt er nimmt die Formatierung von der ccs Datei nicht :confused: Zitieren
PerdianMG Geschrieben 17. März 2004 Geschrieben 17. März 2004 Du solltest dich erstmal weniger auf dein Servlet an sich konzentrieren sondern dir klar machen, wer für die Darstellung zuständig ist. Die CSS Datei wird nicht vom Servlet eingebunden sondern von Browser in einem zweiten Schritt erst aufgerufen und ausgelesen. Guck dir die HTML Ausgabe an, die generiert wird. Vergleiche die mit einer anderen (statischen) HTML Seite, die ebenfalls das Stylesheet referenziert und bei der es funktioniert. Dann such die Unterschiede in beiden Dateien und erst wenn du hier gesehen hast was falsch gelaufen ist kannst du an das Servlet gehen und dort die Ausgabe verändern. Christian Zitieren
Empfohlene Beiträge
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.