zoukankan      html  css  js  c++  java
  • struts2中jsp前台传值到后台action的方法(转)

     

    在Struts2中jsp前台传值到action后台的方法

    分类: java 2171人阅读 评论(1) 收藏 举报

      struts2中的Action接收表单传递过来的参数有3种方法:

    如,登陆表单login.jsp:

    <form action="login" method="post" name="form1">   用户名:<s:textfield name="username"/><br/>    密 码:<s:password name="password"/><br/>                <s:submit value="提交"/>     </form>

    1.在Action类中定义表单属性,两者属性名称必须一致。提供setter,getter方法。即可接收到表单传过来的参数.

    这种接收参数的方法,方便简单,但是结构性不是很好,且当表单传递来的参数很多的时候,整个Action类中充斥着setter,getter方法,程序结构不是很美观。

    2.把表单传递过来的参数封装成一个类,然后调用其中的属性.

    如,把login.jsp页面要传来的参数进行封装

    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;  }

    然后再Action方法中,定义该类的对象就可以了,如

    public class loginAction extends ActionSupport{

    private Users users;

    public Users getUsers(){

    return users;

    }

    public void setUsers(Users users){

    this.users=users;

    }

    /*

    传递过来的参数都封装在users中了,用getter方法取值就可以了

    */

    }

    通过这种方法传值,还必须在jsp页面做一下处理,login.jsp中from1的属性名应该改成这样:

    登陆表单login.jsp:

    <form action="login" method="post" name="form1">   用户名:<s:textfield name="users.username"/><br/>    密 码:<s:password name="users.password"/><br/>                <s:submit value="提交"/>     </form>

    这种方法,在struts开发中是很常用的一种方法!

    3.通过实现ModelDriven接口接收表单数据

    首先Action类必须实现ModelDriven接口,同样把表单传来的数据封装起来,Action类中必须实例化该对象,并且要重写getModel()方法

    public class loginAction extends ActionSupport implements ModelDriven<Users>{

    private Users users =new Users();

    public Users getModel(){

    return users;

    }

    /*

    表单传来的参数封装在users对象中

    表单属性名不需要加上引用users对象,直接传参数名

    */

    }

  • 相关阅读:
    vue开发chrome扩展,数据通过storage对象获取
    Vue手动集成less预编译器
    Google Translate寻找之旅
    Javascript Range对象的学习
    Javascript Promises学习
    SublimeText 建立构建Node js系统
    We're sorry but demo3 doesn't work properly without JavaScript enabled. Please enable it to continue.
    npm安装包出现UNMET DEPENDENCY报错
    (转载)命令行说明中格式 尖括号 中括号的含义
    Linux重启网卡服务Failed to start LSB: Bring up/down networking.
  • 原文地址:https://www.cnblogs.com/ximencuixue/p/3322042.html
Copyright © 2011-2022 走看看