ModelDriven接口

来源:互联网 发布:csolfps优化大全 编辑:程序博客网 时间:2024/05/23 23:46

ModelDriven接口

在开发中常常使用GET方法向服务器查询数据,使用POST方法向服务器提交数据。

当使用POST的方法提交数据时,如果数据量较大,在获取数据时,可能会造成代码的臃肿,而Struts2框架为我们提供了一个ModelDriven接口,对于实现了该接口的Action来说,只需定义了相应的Model,Struts2框架就会自动把用户提交的HTTP信息赋予相应的Model,需要注意的是,在Action中的Model对象必须实例化。

示例如下:

(1)创建一个名为UserInfo的Model :

publicclass UserInfo {

    private Stringname; //姓名

    privateintage;//年龄

    private Stringaddress;//住址

    private StringphoneNumber;//电话

    private Stringemail;//邮箱

    public String getName() {

        returnname;

    }

    publicvoid setName(Stringname) {

        this.name =name;

    }

    publicint getAge() {

        returnage;

    }

    publicvoid setAge(intage) {

        this.age =age;

    }

    public String getAddress() {

        returnaddress;

    }

    publicvoid setAddress(Stringaddress) {

        this.address =address;

    }

    public String getPhoneNumber() {

        returnphoneNumber;

    }

    publicvoid setPhoneNumber(StringphoneNumber) {

        this.phoneNumber =phoneNumber;

    }

    public String getEmail() {

        returnemail;

    }

    publicvoid setEmail(Stringemail) {

        this.email =email;

    }

    @Override

    public String toString() {

        return"[name="+name+",age="+age+",address="+address+",phoneNumber="+phoneNumber+",email="+email+"]";

    }

}

(2)创建一个实现了ModelDriven接口的Action类:

publicclass UserInfoActionimplementsModelDriven {

    private UserInfouser=new UserInfo();

    private Stringmessage;

    public String add(){

        return"success";

    }

    public UserInfo getUser() {

        returnuser;

    }

    publicvoid setUser(UserInfouser) {

        this.user =user;

    }

    public String getMessage() {

        returnmessage;

    }

    publicvoid setMessage(Stringmessage) {

        this.message =message;

    }

    @Override

    public Object getModel() {

        returnuser;

    }

}

(3)在Struts.xml中添加action:

<actionname="userInfo"class="com.chen.action.UserInfoAction"method="add">

            <resultname="success">/userInfo/showUserInfo.jsp</result>

</action>

(4)编写提交信息的前端界面的核心代码:

<formaction="${pageContext.request.contextPath}/userInfo.action">

姓名:<inputtype="text"name="name"><br>

年龄:<inputtype="text"name="age"><br>

住址:<inputtype="text"name="address"><br>

电话:<inputtype="text"name="phoneNumber"><br>

邮箱:<inputtype="text"name="email"><br>

<inputtype="submit"value="submit">&nbsp;&nbsp;<inputtype="reset"value="reset"><br>

</form>

(5)显示Model详细信息界面的核心代码:

<body>

${user.name}<br>

${user.age}<br>

${user.address}<br>

${user.phoneNumber}<br>

${user.email}<br>

</body>


0 0
原创粉丝点击