Hallo!
Ich habe eine Frage, die einfach zu verstehen, jedoch etwas kompliziert zu erklären ist. Deshalb versuche ich erst einmal einfach anzufangen:
Ich verwende kein Web-Framework, sondern arbeite nur mit JSP und Servlets.
Es geht um 2 JSP-Seiten: "articleList.jsp" und "article.jsp".
Den Controller der Anwendung habe ich mit einem Servlet realisiert. Dieses ist mit "do" auf die entsprechende Klasse gemapt.
Dieses Beispiel ist ohne Datenbank programmiert.
Hier ist (stark vereinfacht) die articleList.jsp:
Hier ist ausschnittsweise der Controller:
Dann die article.jsp:
Und hier wieder das benötigte Stück Controller:
Ich hoffe, bis hierhin ist alles soweit klar.
Erste Frage: Kann man das so machen, oder anders: ist es guter Stil?
Vorerst Danke!
P.S.: die eigentliche Frage fehlt noch... :roll:
Ich habe eine Frage, die einfach zu verstehen, jedoch etwas kompliziert zu erklären ist. Deshalb versuche ich erst einmal einfach anzufangen:
Ich verwende kein Web-Framework, sondern arbeite nur mit JSP und Servlets.
Es geht um 2 JSP-Seiten: "articleList.jsp" und "article.jsp".
Den Controller der Anwendung habe ich mit einem Servlet realisiert. Dieses ist mit "do" auf die entsprechende Klasse gemapt.
Dieses Beispiel ist ohne Datenbank programmiert.
Hier ist (stark vereinfacht) die articleList.jsp:
Code:
<jsp:useBean id="articleList" scope="session" class="de.xxx.ArticleList" />
<c:forEach items="${articleList.articles}" var="article" varStatus="forEachStatus">
<c:out value="${article.name}" />
<c:url var="url" value="do">
<c:param name="action" value="showArticle" />
<c:param name="idx" value="${forEachStatus.index}" />
</c:url>
[url="${url}"]Show[/url]
</c:forEach>
Hier ist ausschnittsweise der Controller:
Code:
// retrieve action
String action = request.getParameter("action");
if (action.equals("showArticle")) {
ArticleList articleList = (ArticleList)session.getAttribute("articleList");
int idx = Integer.parseInt(request.getParameter("idx"));
Article article = (Article)articleList.getArticles().get(idx);
session.setAttribute("article", article);
nextPage = "article.jsp";
}
Dann die article.jsp:
Code:
<jsp:useBean id="article" scope="session" class="de.xxx.Article" />
<form action="do" method="post">
Name: <input name="name" type="text" value="${article.name}" ></td>
<input type="hidden" name="action" value="submitArticle">
<input type="submit">
</form>
Und hier wieder das benötigte Stück Controller:
Code:
// retrieve action
String action = request.getParameter("action");
if (action.equals("submitArticle")) {
....
}
Ich hoffe, bis hierhin ist alles soweit klar.
Erste Frage: Kann man das so machen, oder anders: ist es guter Stil?
Vorerst Danke!
P.S.: die eigentliche Frage fehlt noch... :roll: