2009-04-07 14 views
1

Ich habe ein einfaches Benutzerregistrierungsformular. In dem ich Stadt als ein Tag setze. Hier Drop-down-Box-Wert aus der Stadt Master-Tabelle von MySQL-Datenbank.struts2 <s:select...> tag

Wenn ich jedoch ganze Benutzerregistrierungswerte speichere, kann ich den aktuell ausgewählten Stadtwert nicht abrufen. Kann mir jemand helfen...? Mein Benutzeranmeldeformular enthält:

<s:form action="UserAction" > 
     <s:textfield name="name" label="User Name" /> 
     <s:textfield name="age" label="Age" /> 

     <s:radio name="sex" label="Sex" list="{'M','F'}" /> 

     <s:select list="cities" key="cities.name" listValue="name"> 
     </s:select> 

     <s:submit /> 
    </s:form> 

Antwort

1

bekam schließlich die Lösung nach dem Schreiben:

  <s:select list="cities" name="city"> 
      <s:iterator value="cities"> 
      </s:iterator> 
     </s:select> 

Und zum Zeitpunkt der Einführung durch DAO, es werden alle den Wert von Bean automatisch abgerufen werden.

+0

Eigentlich habe ich kein Anfrage- oder Sitzungsobjekt verwendet, daher wurde die Funktion getParamter() oder getAttribute() nicht verwendet. – Nirmal

+0

Könnte sein, aber die Tatsache ist, dass alle, die im Anfragekontext als Parameter sind. Struts verbirgt das vor dir. –

1

Geben Sie Ihre Liste den genauen Namen, was Sie in Ihrem Bean haben, in Ihrem Fall Stadt. Es sollte jetzt anfangen zu arbeiten. folgenden Code

+0

Aber ich habe Bestehen dieser Seite UserAction.action Java Seite. Kann UserAction als Servlet fungieren? Weil meine UserAction gerade eine einfache Java-Klasse ist. In UserAction wird kein HttpRequest-Objekt erstellt. – Nirmal

+0

Also, wie bekommen Sie die anderen Felder, zum Beispiel Name und Alter? –

+0

Oh ... es geht alles automatisch dahin. Sorry hat den Beitrag bearbeitet. Bitte prüfe. –

0

In Ihrer Action-Klasse haben Sie wahrscheinlich ein Attribut basierend auf dem Select-Tag. Wenn Sie diesen Wert festlegen, fügen Sie eine Anmerkung über der Methodensignatur hinzu.

Etwas wie:

@RequiredStringValidator(type = ValidatorType.SIMPLE, message = "Please select a value", fieldName = "select") 

Dies sollten Sie aussortieren. Dies kann auch in der Datei struts.xml auf ähnliche Weise geschehen.

Prost Nathan

Verwandte Themen