1

我有一个简单的用户注册表单。它包括姓名、年龄、性别和城市。但是这里的城市来自城市主表并将用户显示为组合框。但是当我试图通过我的 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();
    }

如果有人有任何建议,请建议我。我被这个问题困住了......

4

2 回答 2

1

您可以使用与其他字段类似的方法来获得它。您唯一需要做的就是为该字段命名。

为您的列表提供您在 bean 中的确切名称,在您的情况下为city。它现在应该开始工作了。

于 2009-04-07T06:33:38.753 回答
0

Vinegar 的建议是像这样修改你的 jsp

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

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

于 2009-04-08T20:01:57.663 回答