获得行动类的价值

问题描述 投票:0回答:1

我想用Struts在JSP中创建组合框。我的JSP页面是:

<s:form id="form-sign-up" class="round styled" action="signUp" method="post" name="myForm" theme="xhtml" enctype="multipart/form-data">
    <label>Email:</label><input type="text" class="keyup-email text-input" name="7" value="" />
    <br />
    <br />
    <s:textfield name="fname" size="40" maxlength="40" required="true" key="your.FName-label"/>
    <s:textfield name="lname" size="40" maxlength="40" required="true" key="your.LName-label"/>
    <br />
    <s:set var="gender" value="{'male','female'}" />
    <s:select label="gender" name="gender"
              accesskey="" headerKey="-1" headerValue="I'm..." 
              cssClass="" list="gender"/>
    <br />          
    <s:password name="Pass" size="40" maxlength="40" required="true" key="your.Pass-label"/>
    <s:textarea name="job" label="Job" id="job" cols="32" rows="3" />
    <s:submit value="Submit" id="btn-submit" align="left"/>
</s:form>

现在在我的行动中我有:

public class SignUpAction  extends ActionSupport {

private String fname;
private String lname;
private String gender;
private String email;
private String pass;
private String job;
public static DataBase db ;

 @Override
public void validate(){
}

@Override
public String execute() throws Exception {

    DataBase db = new DataBase();
    try {
        User u1 = new User(fname,lname,gender,email,pass,job);
        db.Add_User(u1);

     } catch ( HibernateException e ) {
            e.printStackTrace();

    }

    return SUCCESS;
}
... Getters and setters ...     
}

我希望获得性别的价值并将其价值保存在我的数据库中,但我无法从JSP获得<s:select...的值。

java jsp struts2 combobox action
1个回答
0
投票

您无法获得具有错误类型的列表的值。要选择选项值,您需要列表

List<String> gender;

把你需要的价值放在房产上

String yourGender;

并使用属性名称命名select标记

<s:select name="yourGender" list="gender"

确保定义了getter和setter,如果你引用了默认堆栈,则在提交之后,yourGender将被设置为你的动作。该值取决于选择。因此,您可以自由选择持久性框架或原始JDBC来将值保存到数据库中。

© www.soinside.com 2019 - 2024. All rights reserved.