2012-04-06 5 views
1

Ich habe ein Problem mit <h:inputText>. Insbesondere habe ich eine Reihe von Eingabetext, Combobox, Kalender auf einer XHTML-Seite.SEAM Parametrierter Eingangstext

Jeder von ihnen hat das Wertattribut wie folgt value="#{myBean.first}", value="#{myBean.second}" und so weiter.

Auf diese Weise muss myBean eine enorme Anzahl von Setter und Getter haben. Ich brauche nur einen Setter und nur ein Getter wie folgt zu verwenden:

public void setValue(String theId, String theValue){} 
public String getValue(String theId){} 

So in diesen nur zwei Methoden, die ich verwende, um eine Karte mit key = theId und Wert = theValue vom Benutzer eingefügt.

Meine Frage ist, wie kann dies in XHTML-Seite tun?
So wäre das Preis-Leistungs-Verhältnis? Gibt es einen speziellen Hinweis für die Übergabe eines Parameters an Setter/Getter?

Beachten Sie, dass der dem inputText hinzugefügte "Parameter" ein Objekt sein kann.

Wie kann ich tun?

Antwort

1

Wenn Sie die Schlüssel/Wert-Paare in einer Map speichern möchten, können Sie die Map direkt in Ihren UI-Komponenten referenzieren. Sagen Sie Ihre Backing Bean hat dies:

<h:inputText value="#{myBean.dataMap['first']}" /> 

<h:inputText value="#{myBean.dataMap['second']}" /> 
+0

Große Jeremiah:

public Map<String, Object> getDataMap() { return dataMap; } public void setDataMap(Map<String,Object> dataMap) { this.dataMap = dataMap; } 

Ihre xhtml könnte wie folgt aussehen! Danke, es geht! – Giant2