Jsp Vector auslesen
-
Hallo,
ich hätte ein Problem beim Auslesen eines Vectors. Wie bekomme ich es hin, dass der Vector richtig befüllt wird und danach in einer Tabelle (html) ausgegeben wird. Mein Vector soll bisher nur per out ausgegeben werden. Aber das funktioniert schon nicht. Benötige Hilfe...
Mein "Konstrukt":
index.jsp
<body> <jsp:useBean id="einePerson" scope="page" class="Daten.Person"/> <jsp:useBean id="Personenliste" scope="session" class="java.util.Vector"/> <jsp:setProperty value="Peter" name="einePerson" property="vorname" /> <jsp:setProperty value="Adar" name="einePerson" property="name" /> <jsp:setProperty value="12" name="einePerson" property="alter" /> <% for (int i=0; i < Personenliste.size(); i++) { einePerson = (Daten.Person) Personenliste.elementAt(i); out.print ("Name: " + einePerson.getName() + "<br/>"); } %> </body>
Person bean:
public class Person { String name; String vorname; int alter; public Person() { } public Person(String name, String vorname,int alter) { this.name=name; this.vorname=vorname; this.alter=alter; } public String getName() { return name; } public void setName(String p) { name = p; } public String getVorname() { return vorname; } public void setVorname(String p) { vorname = p; } public int getAlter() { return alter; } public void setAlter(int p) { alter = p; } }
Personenliste Bean:
public class Personenliste extends Person{ Vector<Person> personen; public Personenliste() {} public Personenliste(String name,String vorname,int alter) { this.name=name; this.vorname=vorname; this.alter=alter; personen.add(this); } public void setPersonen(Vector<Person> person) { this.personen=person; } public Vector<Person> getPersonen() { return this.personen; } }
Es will nicht so wie ich will...
-
Hab mir jetzt nicht alles genau angeschaut, aber:
1. die Klasse Personenliste scheint mir recht sinnlos zu sein?
2. wo füllst du den Vektor Personenliste? In deinem Code ist davon nichts zu sehen, zeig mal das Servlet wo du die Personenliste befüllst. Ansonsten ist der Vector leer ergo: keine Ausgabe
-
Ich dachte man kann über die Properties befüllen...
<jsp:setProperty name="" ...>
Ich möchte eigentlich nur das der Vektor befüllt wird und ausgegeben.
Gibts einen Lösungsansatz mit festen Daten nicht Eingabedaten( also per Eingabefelder)?
So nach dem Motto:
vector.add(new Person("Hans","müller",23),new Person("Peter","müller",63));Wäre um Rat dankbar wie ich das in der JSP Seite ausgebe.
-
oldewolbers schrieb:
<jsp:setProperty name="" ...>
ja, damit setzt du die Felder von "einePerson" (die nachher in der Schleife eh wieder überschrieben werden) aber nicht den Vector
Ich möchte eigentlich nur das der Vektor befüllt wird und ausgegeben.
So nach dem Motto:
vector.add(new Person("Hans","müller",23),new Person("Peter","müller",63));Dann schreib doch diesen Code ('in Richtig' allerdings) in deine JSP oder dein Servlet
-
Mir war nicht klar, dass die Klasse Vector benutzt werden kann und die id unabhängig von einer Klasse ist.
<jsp:useBean id="personenliste" class="java.util.vector">
Ich dachte erst zu der id benötigt man eine Klasse personenliste, aber da man ja bereits vector benutzt macht es keinen Sinn.
Habe es hinbekommen.
Allerdings ist ein Problem oft, wenn ich
<jsp:useBean id="person" class="Daten.Person">
er mit dieser Zeile kämpft. Manchmal musste ich ein neues Package anlegen und das alte Löschen, also dann in bspw. "Personen.Person" da der Compiler nicht wusste was Daten.Person ist.Lege daher Objekte nur mit Daten.Person d = new Daten.Person() an, was eigentlich umständlich ist, aber unter Netbeans offenbar nicht alles so geht wie man will...