Struts und Objekte in Comboboxen

Status
Nicht offen für weitere Antworten.
T

tremor4fun

Gast
Hallo,

ich habe folgendes Problem, ich habe eine Combobox, welche mit einer Collection, die wiederum Objekte enthält gefüllt wird. Das Anzeigen im JSP ist kein Problem, hier einmal der Quelltext:

Code:
<td> 
  <html:select  styleClass="mustbe-input-widget" property="selectedItem">
    <logic:iterate id="vereinObj" name="NeuesMitgliedForm" property="verein" type="Verein">
       <html:option value="<%=vereinObj.toString()%>"/>
    </logic:iterate>
  </html:select> 
</td>

Der Verein ist vom Typ Objekt und besteht aus Name (String) und Nummer (int). Die .toString()-Methode liefert mir den Namen des Vereins.
Ich möchte jetzt die Auswahl Speichern und von selectedItem() mein gewähltes Objekt zurückbekommen.
Ich bekomme allerdings nur immer den String des Vereinsnamens (was ja einerseits auch logisch ist, da unter "html:eek:ption value" ja auch nur Strings stehen)
Also, zur Zeit sieht die .SelectedItem()-Methode des Form wiefolgt aus:

Code:
public void setSelectedItem(String name)
{
  _name = name; 
}
public String getSelectedItem()
{
  return _name;
}
String _name;

und ich baue mir an anderer Stelle mit dem Ausgelesenen Namen mein Objekt neu.
Allerdings finde ich das unschön, da ich ja an die Combobox quasi fertige Objekte übergebe.

Ich hätte also gern irgendwas funktionierendes in der Art von:

Code:
public void setSelectedItem(Verein verein)
{
  _verein = verein;
}
public String getSelectedItem()
{
  return _verein;
}
Verein _name;

so das ich mir nicht das Objekt (was ich ja vorher schon hatte) immer neu bauen muss.
Trotz intensiver Suche konnt ich bis jetzt keine Lösung finden, ich bin mir zur Zeit nicht mal sicher, ob das überhaupt mit ner Combobox funktioniert, da die ja unter "value" irgendwie jedesmal expliziet nen String verlangt.
Wäre echt nett, wenn mir jemand helfen könnte.
Danke.
 
T

tremor4fun

Gast
...uups, in der letzten Quelltextzeile muss es natürlich "Verein _verein" heissen...
 
S

SlaterB

Gast
wie stellst du dir das vor? ;)
zum Browser wird HTML-Code geschickt,
zurück kommt wieder ein HTML-Request mit der Auswahl,

man kann nur Strings übertragen, mit etwas automatischer Umformung auch Zahlen,
oder auch bye[] für Bilder etc.,

aber Java-Objekte, das geht nicht,
man könnte die natürlich irgendwie kodieren (Klassenname, Wert aller Attribute),
aber selbst dann hätte man nach dem Zerlegen und wieder zusammenbauen ein anderes neues Objekt,
nicht das gleiche,

das gleiche kriegt man indem man das GANZ NORMAL macht,
indem man ganz sparsam die ganz kurze Id überträgt und danach anhand der Id das Objekt wieder bestimmt,

das ist sparsam (wenig Arbeit für die CPU, kurze Nachrichten im Internet),
und funktioniert in jeder Programmiersprache gleich,
was will man mehr?
 
T

tremor4fun

Gast
Naja, ok
dann werd ich wohl jetzt mit dem selectedItem-String in einer for-Schleife innerhalb der Form über meine Collection laufen und mir hier mit toSting() das richtige Objekt wieder raussuchen.
Hätt ja sein können, das es auch irgendwie anders funktioniert.
Danke Trotzdem.
 

HLX

Top Contributor
Es funktioniert auch anders. Speichere die Objekte in einem Object-Array:

Hier ein Beispiel:

JSP:
Code:
<html:select property="ausgewaehlterKey">
    <html:optionsCollection property="objectArray" label="name" value="key"/> 
</html:select>


In die ActionForm gehört:
Code:
private int ausgewaehlterKey;
private Object[] objectArray;

// + getter und setter für die beiden

Das Object, dass in das Array gefüllt wird:
Code:
public class MyObject {

     private int key;
     private String name;

     // + getter und Setter für die beiden
}

Die Parameter label und value aus dem optionsCollection-Tag beziehen sich auf die beiden Attribute aus MyObject. Der Parameter value ist ein int und kann daher auch beim ausgewaehltenKey mit einem int belegt werden.

Man kann also Objekte einer Dropdownlist zuweisen, man muss allerdings innerhalb des Objektes einen "key" (value) und einen String zur Ausgabe (label) festlegen, die dann von Struts der OptionsCollection zugewiesen werden.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Struts 2 datetimepicker Allgemeines EE 3
W Struts Tutorial für EE Noobs? Allgemeines EE 2
N Struts vs JSF ? Allgemeines EE 7
W Speicher-Problem bei WebApp unter Tomcat, Struts, Hibernate Allgemeines EE 3
Lex Property per html:link schreiben in struts Allgemeines EE 2
Shihan Line Breaks in <br /> umwandeln (Struts) Allgemeines EE 7
S Struts: zwei JSP's nutzen eine Action Allgemeines EE 5
G Struts: ActionMessage value in JSP anzeigen Allgemeines EE 2
S Problem mit Struts und tiles Allgemeines EE 4
S Struts und Session Allgemeines EE 2
K Struts - FormBean mit 2 Listen - Anzeigen und Speichern Allgemeines EE 2
S Probleme mit struts - ActionServlet Allgemeines EE 6
C Struts in iFrame Allgemeines EE 2
Z Struts: Formularfelder initialisieren Allgemeines EE 3
S Struts: Wert in einem iterierten Drop-Down Menü selektieren Allgemeines EE 7
T Struts 2 Allgemeines EE 6
R Struts-Action in JSP abfragen? Allgemeines EE 2
J struts: Bild als submit-button Allgemeines EE 2
J Internationalization mit Struts Allgemeines EE 2
E bei struts inhalte über mehrere seite verteilen Allgemeines EE 6
velaluka Struts- falsches Character-Encoding? Allgemeines EE 3
M URL Darstl. und Struts Allgemeines EE 2
G Struts beans Allgemeines EE 7
D Struts + Table Allgemeines EE 6
L Struts - Action auslösen bei Browser Back Allgemeines EE 2
N Struts - Problem mit <html:link> Action Allgemeines EE 3
netspy Struts, Spring oder ... ? Allgemeines EE 5
S Struts - Direktaufruf eines URL verhindern Allgemeines EE 11
1 Frage zu Struts und findForward Allgemeines EE 4
N Struts Jboss und Filter Allgemeines EE 2
S Fragen zu: Servlets, Struts & Hibernate Allgemeines EE 9
J Probleme mit Struts Allgemeines EE 3
K STRUTS The server encountered an internal error Allgemeines EE 5
F struts logic:iterate Allgemeines EE 5
M STRUTS/Cannot retrieve definition for form bean null on acti Allgemeines EE 4
G struts-config.xml Allgemeines EE 3
H Ich bin sehr verwirrt - struts, jsp, jsf . ? Allgemeines EE 53
P Testen von Struts-Anwendung Allgemeines EE 7
P Struts Form Bean vs. Session Variable Allgemeines EE 6
A Tomcat undeploy unter Windows klappt nicht wegen struts.jar Allgemeines EE 2
B Struts Problem: Array in JSP ausgeben (logic:iterate) Allgemeines EE 12
M Struts Deployment Allgemeines EE 3
R Mehrsprachige Seite mit Struts & Co. ? Allgemeines EE 5
S mehrere Message Resources in Struts ansprechen Allgemeines EE 7
G Values aus DB in Input-Feldern anzeigen (Struts) Allgemeines EE 2
G Exception creating bean of class . (Struts) Allgemeines EE 8
B Verwendung von DynActionForm (Struts) Allgemeines EE 10
K dynamischer Zugriff auf .properties (Struts) Allgemeines EE 2
K Struts html:messages tag Allgemeines EE 2
M Struts File Upload problem Allgemeines EE 6
G Validierung mittels Struts. Benötige Hilfe. Allgemeines EE 7
J Buchempfehlung: Servlets, JSP, Struts, JSTL Allgemeines EE 3
P struts "beliebige motive in der datenbank finden" Allgemeines EE 6
P Struts und Frames Allgemeines EE 13
L jfreechart und Struts / JSPs Allgemeines EE 3
P struts Hibernate MySQL Select Statement Allgemeines EE 24
P keine verbindung vom struts framework zu mysql Allgemeines EE 2
R Vernünftige Session-Verwaltung mit Struts Allgemeines EE 4
P Struts Anwendung- FormBean Tabelle mit input type=text Allgemeines EE 2
G Probleme mit Validierung (Struts, validation.xml) Allgemeines EE 4
M Struts - ActionForward Allgemeines EE 9
clemson gesplittete struts-config mittels ant zusammenbauen Allgemeines EE 2
J Struts Textfeld Allgemeines EE 10
M Struts shale Allgemeines EE 7
M Struts - jsp site - werte formatieren Allgemeines EE 6
clemson mehrere Mail Attachments - JSP Struts Allgemeines EE 7
T JSTL + Struts (inkl.Hibernate) -> forEach Problem Allgemeines EE 6
R Struts FormBean Allgemeines EE 4
S Struts 1.1 download einer Datei Allgemeines EE 4
R Use bean in scriptlet in struts Allgemeines EE 4
S reagieren auf select events in jsp-struts seiten Allgemeines EE 5
P Struts - Text formatieren Allgemeines EE 6
C Grafische Komponenten unter Struts jsp (Liste) Allgemeines EE 4
P Struts - Abarbeitung Allgemeines EE 3
P J2EE Struts - Database connection failed - Hilfe?:( Allgemeines EE 6
P J2EE Struts Allgemeines EE 2
R struts 1.0.2 Checkbox-Property bleibt immer false Allgemeines EE 3
TRunKX Werteübergabe von einer *.jsp in eine *.java ohne struts Allgemeines EE 4
clemson [Struts] Validierung server-seitig bringt StackOverflowError Allgemeines EE 5
clemson [Struts] HTML-Checkbox Tag ID Allgemeines EE 2
clemson [Struts] Einer Action Parameter übergeben Allgemeines EE 2
clemson [Struts] Innerhalb Action auf form zugreifen Allgemeines EE 4
G In einer JSP auf Struts-Elemente "reagieren" Allgemeines EE 4
clemson [Struts] struts-config.xml parsen Allgemeines EE 2
clemson [Struts] Parameter an ActionForward anhängen Allgemeines EE 3
clemson [Struts] TilesRequestProcessor - processRoles Allgemeines EE 14
F Struts Allgemeines EE 9
G Struts-Write Anweisungen in Hyperlink einbauen Allgemeines EE 3
G Struts-Form: in validate- oder reset-Methode umleiten. Allgemeines EE 3
G Listenfeld mit Struts und Beans realisieren Allgemeines EE 4
L Anfänger: suche Tutorials zu Struts/EJB Allgemeines EE 6
G Struts - dynamisches FormBean Allgemeines EE 3
R struts und Mapped Properties Allgemeines EE 2
A Javadocs zu struts Allgemeines EE 5
A Kolloquium J2EE / Struts Allgemeines EE 16
A Expression Language in Struts? Allgemeines EE 6
A Form Validierung mit Struts? Allgemeines EE 2
A struts: html:form-tag das Attribut "name" ersetzen Allgemeines EE 7
B struts - beginnerproblem Allgemeines EE 3
B Struts DBCP Allgemeines EE 4

Ähnliche Java Themen

Neue Themen


Oben