2009-04-07 4 views
1

Ich habe ein einfaches Benutzerregistrierungsformular. Es enthält Name, Alter, Geschlecht & Stadt. Aber hier kommt die Stadt aus der Stadt Master-Tabelle & Anzeige Benutzer als eine Combo-Box. Aber wenn ich versuche, vollständige Benutzerregistrierungsinformationen über mein UserDAO zu speichern, wie kann ich dann auf diesen aktuell ausgewählten Stadtwert zugreifen? Mein Benutzerregistrierungs-JSP-Formular enthält:Wie kann ich Combo Box Wert in meine DAO mit Struts 2 holen?

<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> 

Jetzt rufe ich die execute() -Methode von UserAction auf. Es enthält:

public String execute() throws Exception { 
     UserDAO.insert(user); 
     return SUCCESS; 
    } 

Mein DAOs insert-Methode folgenden Code:

public static void insert(UserBean daoUb) throws Exception { 
     Connection daoConn = null; 
     CityBean cb=new CityBean(); 
     cb=daoUb.getCity(); 
     System.out.println("cb = "+cb); 
     daoConn = connectionUtil.getConnection(); 

     Statement daoSt = daoConn.createStatement(); 
     String str = "INSERT user (name,age,sex,city) VALUES('" + daoUb.getName() + "'," + daoUb.getAge() + ",'" + daoUb.getSex() + "','"+cb.getName()+"')"; 
     daoSt.executeUpdate(str); 
     //daoConn.close(); 
    } 

Plz mir empfehlen, wenn jemand irgendwelche Vorschläge haben. Ich bin mit diesem Problem fest ....

Antwort

1

Sie können das mit ähnlicher Methode, was Sie für andere Felder verwenden. Das einzige, was Sie tun müssen, ist diesem Feld einen Namen zu geben.

Geben Sie Ihrer Liste den genauen Namen, was Sie in Ihrer Bohne haben, in Ihrem Fall Stadt. Es sollte jetzt anfangen zu arbeiten.

0

Was Essig legt nahe, ist Ihr jsp wie diese

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

Dies setzt voraus, zu modifizieren, dass Ihr Bean Getter und Setter für eine Stadt bietet, die Sie bereits implementiert haben.