zoukankan      html  css  js  c++  java
  • jsp值传到后台Struts2中的action三种方法

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

    如,登陆表单login.jsp:

    1 <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.把表单传递过来的参数封装成一个类User.java,然后调用其中的属性. 如,把login.jsp页面要传来的参数进行封装

    1 public class User{
     2 private String username; 
     3 private String password; 
     4 public StringgetUsername() { 
     5 return username; 
     6 } 
     7 public void setUsername(Stringusername) { 
     8 this.username = username;
     9  } 
    10 public String getPassword(){
    11  return password; 
    12 }
    13 public void setPassword(String password) {
    14 this.password = password; 
    15 }
    16 }

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

     public class LoginAction extends ActionSupport{
    2  private Users users;
    3  publicUsers getUsers(){
    4  return users; 
    5 } 
    6 public void setUsers(Users users){ 
    7 this.users=users; 
    8 }
    9  }

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

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

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

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

    1 public class LoginAction extends ActionSupport implements ModelDriven<Users>{ 
    2 private Users users =new Users();
    3  public Users getModel(){ return users;
    4  }
    5  }

    三种方法各有所好,根据不同情况选择使用

  • 相关阅读:
    树链剖分 (模板) 洛谷3384
    ST表 (模板) 洛谷3865
    IOI 2005 River (洛谷 3354)
    IOI 2005 River (洛谷 3354)
    poj1094 Sorting It All Out
    poj1094 Sorting It All Out
    spfa(模板)
    HAOI 2006 受欢迎的牛 (洛谷2341)
    HAOI 2006 受欢迎的牛 (洛谷2341)
    洛谷1850(NOIp2016) 换教室——期望dp
  • 原文地址:https://www.cnblogs.com/a8457013/p/8681591.html
Copyright © 2011-2022 走看看