如何使用struts 2将组合框值提取到我的DAO中?

时间:2009-04-07 05:54:08

标签: java jsp struts2

我有一个简单的用户注册表单。它包括姓名,年龄,性别和市。但是这里的城市正在形成城市大师桌&将用户显示为组合框。但是,当我试图通过我的UserDAO存储完整的用户注册信息时,我如何访问当前选定的城市值?我的用户注册jsp表单包含:

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

现在我调用UserAction的execute()方法。它包含:

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

我的DAO的插入方法有以下代码:

 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();
    }
如果有人有任何建议,请告诉我。我坚持这个问题....

2 个答案:

答案 0 :(得分:1)

您可以使用与其他字段相同的方法获得该方法。您唯一需要做的就是给该字段命名。

为您的列表指定您在bean中的确切名称,例如 city 。它现在应该开始工作了。

答案 1 :(得分:0)

Vinegar建议如何修改你的jsp

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

这假设您的bean具有已经实现的城市属性的getter和setter。