ERLEDIGT
NEIN
NEIN
ANTWORTEN
4
4
ZUGRIFFE
383
383
EMPFEHLEN
-
Hallo Community,
ich hab bisher nur mit HTML in Verbindung mit PHP gearbeitet. Sprich, wenn ich eine Navigation habe mit den Navi-Punkten Link1, Link2 und Link3, habe ich verlinkt und eine Variable an die URL angehängt. Diese habe ich dann mit einem try-catch abgefragt und dementsprechend die passende php-Datei includet (die dann dynamischen Code generiert hat).
Jetzt habe ich mich in JEE eingearbeitet und bin an meinem ersten Servlet. Ich kann mir Kleinigkeiten anzeigen lassen, aber es langt noch nicht dazu, dass ich sagen kann "Hey, ich verstehe die Strukturen von JEE". Es würde mir sehr viel weiterhelfen, wenn jemand folgendes beispielhaft lösen könnte.
Szenario:
- Ich hab ein Template. Oben Header, unten Footer, links ne Navi und rechts der Contentbereich.
Im Contentbereich soll je nach dem was angeklickt worden ist (in der Navi) ein anderes Servlet geladen werden.
Meine Dateihierarchie
SampleApplication
---src
+----org.eclipse.wtp.tutorial
___+---SnoopServlet.java
---WebContent
+----html
___+---default.css
___+---index.html
+----images
___+---image1.jpg
___+---image2.jpg
+----jsp
___+---showBrowser.jpg
+----META-INF
+----WEB-INF
___+---lib
___+---web.xml
SnoopServlet.java
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
package org.eclipse.wtp.tutorial; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class SnoopServlet extends HttpServlet { /** * */ private static final long serialVersionUID = 1L; public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { String userAgent = req.getHeader("user-agent"); String clientBrowser = "Not known!"; if( userAgent != null) clientBrowser = userAgent; req.setAttribute("client.browser",clientBrowser ); req.getRequestDispatcher("/jsp/showBrowser.jsp").forward(req,resp); } }
index.html
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Sample Application</title> <link href="html/default.css" rel="stylesheet" type="text/css"> </head> <body> <div id="header"><div id="headimage"></div></div> <div id="left"> <a href="..">Link 1</a> <a href="..">Link 2</a> <a href="..">Link 3</a> </div> <div id="center"><div class="contentpadding"> Content <!-- Hier soll alles reingeladen werden --> </div></div> <div id="right"><div class="contentpadding"> Right Sidebar </div></div> <div id="footer"></div> </body> </html>
showBrowser.jsp
Code :1 2 3 4 5 6 7 8 9 10 11 12 13
<html> <head><title>Show Browser</title></head> <body> <table border="1"> <tr> <th>Header</th><th>Value</th> </tr> <tr> <td>user-agent</td> <td><%= request.getAttribute("client.browser")%></td> </tr> </table> </body> </html>
web.xml
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>SampleApplication</display-name> <welcome-file-list> <welcome-file>html/index.html</welcome-file> <welcome-file>html/index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>html/default.html</welcome-file> <welcome-file>html/default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>Snoop Servlet</servlet-name> <servlet-class>org.eclipse.wtp.tutorial.SnoopServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>Snoop Servlet</servlet-name> <url-pattern>/snoop/*</url-pattern> </servlet-mapping> </web-app>
Wenn ich im Browser localhost:8080/SampleApplication eingebe, öffnet sich die index.html. Soweit so gut. Gebe ich im Browser localhost:8080/SampleApplication/snoop ein, öffnet sich die Info welchen Browser ich benutze. Das soll aber in der index.html im Contentbereich geschehen.
Wie macht man das am geschicktesten?
Viele Grüße,
Chris
-
Niemand....? Nicht mal nen Denkanstoß....?
-
28.04.08 21:34 #3
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.886
- Blog-Einträge
- 29
Hallo,
also "am geschicktesten" macht man das nicht selbst sondern benutzt eine Template Engine, wie Sitemesh, Tiles & Co.:
http://www.opensymphony.com/sitemesh/
http://struts.apache.org/1.x/struts-tiles/
Ansonsten:
http://java-source.net/open-source/template-engines
Gruß TomJava rocks!
How to become a good Java Programmer?
Does IT in Java and .Net
The only valid measurement of code quality: WTFs / minute
Blog
Xing
Twitter
-
Danke für deine Antwort, aber das beantwortet mir trotzdem nicht meine Frage. Ich stell die Frage um den Vorgang zu verstehen. Um genau diese Problemstellung zu bewältigen. Es "anders" zu machen ist da nicht der Sinn der Sache.
Könntest du mir denn dennoch weiterhelfen, selbst wenn's ungeschickt wäre?
-
29.04.08 09:40 #5
Ein einfacher JSP include sollte doch tun, was du willst, oder?
Gruß
OllieIn theory, there is no difference between theory and practice. In practice, there is!
www.olivergierke.de
Ähnliche Themen
-
PHP Content in Variable ablegen und in Template ausgeben
Von zer0 im Forum PHPAntworten: 4Letzter Beitrag: 21.09.10, 12:04 -
Dynamisch generierter Button löst OnClick-Event nicht aus
Von docere im Forum ASPAntworten: 1Letzter Beitrag: 26.07.09, 18:53 -
template parser+content
Von xlanhackerx im Forum PHPAntworten: 2Letzter Beitrag: 03.01.08, 19:35 -
Eigenes Template und dynamischer Content
Von Nexlamar im Forum PHPAntworten: 1Letzter Beitrag: 16.10.06, 12:07 -
externe flash datei laden in ein content laden!
Von F-unit im Forum Flash PlattformAntworten: 17Letzter Beitrag: 14.12.04, 15:11





Zitieren

Login





