A
abcde
Gast
Hallo,
ich benutze das MVC Pattern.
Im Controller steck ich in meinen Request eine Liste vom Typ People rein. Danach gebe ich Request und Response Object über einen Dispatcher an den View weiter. Im View möchte ich die Liste für die Ausgabe anzeigen lassen. Aus meinem request Object kommt durch getAttribute ein Object des statischen Types Object und des dynamischen types List<People>. Der Typecast auf List<People> funktioniert leider nicht.
Mein Code:
Ausschnitt Controller:
[JAVA = 83] } else if (action.equals("List by name")) {
try {
List<People> people = em.createNamedQuery("People.getAllByName").getResultList();
if (people.isEmpty()) {
message += "There are no people in the database";
} else {
request.setAttribute("users", people);
RequestDispatcher dispatcherList = request.getRequestDispatcher("list.jsp");
dispatcherList.forward(request, response);
}
} catch (Exception e) {
message += "Something went wrong";
}
[/code]
View:
Meine Frage ist, wie ich dem Compiler klar mach, dass es sich tatsächlich um eine Liste handelt.
Viele Grüße
ich benutze das MVC Pattern.
Im Controller steck ich in meinen Request eine Liste vom Typ People rein. Danach gebe ich Request und Response Object über einen Dispatcher an den View weiter. Im View möchte ich die Liste für die Ausgabe anzeigen lassen. Aus meinem request Object kommt durch getAttribute ein Object des statischen Types Object und des dynamischen types List<People>. Der Typecast auf List<People> funktioniert leider nicht.
Mein Code:
Ausschnitt Controller:
[JAVA = 83] } else if (action.equals("List by name")) {
try {
List<People> people = em.createNamedQuery("People.getAllByName").getResultList();
if (people.isEmpty()) {
message += "There are no people in the database";
} else {
request.setAttribute("users", people);
RequestDispatcher dispatcherList = request.getRequestDispatcher("list.jsp");
dispatcherList.forward(request, response);
}
} catch (Exception e) {
message += "Something went wrong";
}
[/code]
View:
Java:
<%@page import="model.People"%>
<%@page import="java.awt.List"%>
<%@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>
</head>
<body>
<h1>List of names</h1>
<%
for(People p : (List<People>) request.getAttribute("users")){ <-- Diese Zeile wird nicht angenommen -->
}
%>
</body>
</html>
Meine Frage ist, wie ich dem Compiler klar mach, dass es sich tatsächlich um eine Liste handelt.
Viele Grüße