struts2模型驱动方式action获取不到表单数据。

拦截器:

 public class SuperAction extends ActionSupport implements ServletRequestAware,ServletResponseAware,ServletContextAware{

    private static final long serialVersionUID = 1L;
    protected HttpServletRequest request;
    protected HttpServletResponse response;
    protected HttpSession session;
    protected ServletContext application;
    @Override
    public void setServletContext(ServletContext application) {
        this.application=application;
    }

    @Override
    public void setServletResponse(HttpServletResponse response) {
        this.response=response;
    }

    @Override
    public void setServletRequest(HttpServletRequest request) {
        this.request=request;
        this.session=this.request.getSession();
    }

}

模型驱动方式获取user数据

 public class UsersAction extends SuperAction implements ModelDriven<Users> {
    private static final long serialVersionUID = 1L;
    private Users user =new Users();


    @Override
    public Users getModel() {

        return this.user;
    }

    // 用户登录动作
    public String login() {
        UsersDao userDao = new UsersDaoImpl();
        if(this.user!=null){
            if (userDao.userLogin(this.user)) {
                return "login_success";
            } else {
                return "login_failure";
            }

        }
        return "login_failure";

    }

}

user:

 public class Users {
    private int userId;
    private String userName;
    private String realName;
    private String userPwd;
    private String tel;
    private String mark;
    private Date regTime;
    private Date updateTime;
  .......省略getter和setter

配置

 <package name="users" namespace="/" extends="default">
        <action name="*_*" class="action.{1}Action" method="{2}">
            <result name="login_success">/index.jsp</result>
            <result name="login_failure">/login.jsp</result>
            <result name="reg_success">/login.jsp</result>
            <result name="reg_failure">/reg.jsp</result>
        </action>

    </package>
    jsp页面在根路径:
    表单:
    <form action="<%=path%>/Users_login.action" method="post" id="login">
                        <label class="label1"> <span class="lab1"></span> <input
                            type="text" id="name" name="name" maxlength="20"
                            placeholder="请输入您的用户名"/>
                        </label>
                        <!-- name error tip begin-->

                        <label class="label2"> <span class="lab2"></span> <input
                            type="password" name="pwd" id="pwd" maxlength="20"
                            placeholder="请输入您的密码" />
                        </label>
                        <!-- password error tip begin-->

                        <input type="submit" value="" id="sub" />
                    </form>

你把jsp中的name换成user.username , pwd换成user.userpwd