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.

java Klasse (HTML) mit css erstellt

Empfohlene Antworten

Veröffentlicht

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?

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

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:

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

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

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.