struts2学习笔记之五:表单数据收集的几种方式

Posted 愤怒的绿萝

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了struts2学习笔记之五:表单数据收集的几种方式相关的知识,希望对你有一定的参考价值。

方法一:struts2对ModelDriven模式的支持(模型驱动模式)
Struts2可以采用类似于Struts1中的ActionForm方式收集数据,这样方式叫ModelDriven模式
Action需要实现ModelDriven接口,实现getModel()方法,返回Bean对象,这样struts2会通过getModel()方法拿到对象,使用set方法把数据填充到对象中
创建User类(Bean对象,包含geter方法和seter方法的纯java类)
User类
package com.djoker.struts2;

public class User {

private String username;
    
    private String password;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

 

LoginAction类
package com.djoker.struts2;

import com.opensymphony.xwork2.ModelDriven;

public class LoginAction implements ModelDriven<User>{

    private User user = new User();
    
    public String execute() throws Exception {
        if("admin".equals(user.getUsername()) && "admin".equals(user.getPassword())){
            return "success";
        }
        
        return "error";
    }

    @Override
    public User getModel() {
        return user;
    }
    
}

 

方法二:在表单域中直接对对象进行赋值(该方法必须把对象分离到单个类中,类似ModelDriven模型驱动模式)
不需要实现ModelDriven接口,是直接操作对象的get和set方法,所以需要提供该对象的set和get方法
Action类
package com.djoker.struts2;

public class LoginAction{

    private User user;
    
    public User getUser() {
        return user;
    }

    public void setUser(User user) {
        this.user = user;
    }

    public String execute() throws Exception {
        if("admin".equals(user.getUsername()) && "admin".equals(user.getPassword())){
            return "success";
        }
        
        return "error";
    }
    
}

 jsp页面中的form表单书写方式

    <form action="login.action" method="post">
        用户名:<input type="text" name="user.username"><br>
        密    码:<input type="password" name="user.password"><br>
        <input type="submit" value="登录">
    </form>

 

 

以上是关于struts2学习笔记之五:表单数据收集的几种方式的主要内容,如果未能解决你的问题,请参考以下文章

struts2的获取Servlet API的几种方式的学习笔记

Struts2获取参数的几种方式

刚開始学习的人非常有用:struts2中将jsp数据传到action的几种方式

spring in action学习笔记十六:配置数据源的几种方式

后台参数验证的几种方式

自我总结和学习表单提交的几种方式