zoukankan      html  css  js  c++  java
  • Struts2中提交表单使用request和respone最常用的方式与简单数组、复杂数组还有Map赋值。

    一、ServletActionContext()获取request和respone

    最常用的方式,其他和Servlet中的用法一样,代码如下:

    1         HttpServletRequest request = ServletActionContext.getRequest();
    2         HttpServletResponse response = ServletActionContext.getResponse();

    注意:以上方法需要写在Action类中。

    二、使用普通数组、复杂数组、Map赋值操作

    (1)使用普通数组,Action类和前台的代码分别如下:

     1 private String[] list;
     2 
     3 public void setList(String[] list) {
     4      this.list = list;
     5 }
     6 
     7 public String[] getList() {
     8      return list;
     9 }
    10 
    11 @Override
    12     public String execute() throws Exception {
    13         ServletActionContext.getResponse().setContentType("text/html;charset=utf-8");
    14         ServletActionContext.getResponse().getWriter().println(Arrays.asList(list));
    15         return NONE;
    16     }
    1            <form action="${pageContext.request.contextPath}/userAdd" method="get">
    2                <input type="text" name="list" value="张三">
    3                <input type="text" name="list" value="李四">
    4                <button>添加</button>
    5            </form>

    结果为[张三, 李四]

    (2)使用复杂一点的数组,这次我们给List传入一个封装好的User,代码如下

     1 public class User {
     2     private String userName;
     3     private String userPwd;
     4 
     5     public void setUserName(String userName) {
     6         this.userName = userName;
     7     }
     8 
     9     public void setUserPwd(String userPwd) {
    10         this.userPwd = userPwd;
    11     }
    12 
    13     public String getUserName() {
    14         return userName;
    15     }
    16 
    17     public String getUserPwd() {
    18         return userPwd;
    19     }
    20     public String toString(){
    21         return "[userName:"+getUserName()+",userPwd:"+getUserPwd()+"]";
    22     }
    23 }

    然后在Action类创建一个List,修改一下前台的代码

     1     private List<User> user;
     2 
     3     public List<User> getUser() {
     4         return user;
     5     }
     6 
     7     public void setUser(List<User> user) {
     8         this.user = user;
     9     }
    10 
    11     @Override
    12     public String execute() throws Exception {
    13         ServletActionContext.getResponse().setContentType("text/html;charset=utf-8");
    14         ServletActionContext.getResponse().getWriter().println(Arrays.asList(user));
    15         return NONE;
    16     }
    1            <form action="${pageContext.request.contextPath}/userAdd" method="get">
    2                <input type="text" name="user[0].userName" value="张三">
    3                <input type="text" name="user[0].userPwd" value="123三">
    4                <input type="text" name="user[1].userName" value="李四">
    5                <input type="text" name="user[1].userPwd" value="123四">
    6                <button>添加</button>
    7            </form>

    结果为[[[userName:张三,userPwd:123三], [userName:李四,userPwd:123四]]]

    (4)使用Map将User添加进去,并添加键值,代码如下

     1     private Map<String,User> map;
     2 
     3     public Map<String, User> getMap() {
     4         return map;
     5     }
     6 
     7     public void setMap(Map<String, User> map) {
     8         this.map = map;
     9     }
    10     @Override
    11     public String execute() throws Exception {14         ServletActionContext.getResponse().setContentType("text/html;charset=utf-8");
    15         ServletActionContext.getResponse().getWriter().println(Arrays.asList(map));
    16         return NONE;
    17     }
    1            <form action="${pageContext.request.contextPath}/userAdd" method="get">
    2                <input type="text" name="map['a'].userName" value="张三">
    3                <input type="text" name="map['a'].userPwd" value="123三">
    4                <input type="text" name="map['b'].userName" value="李四">
    5                <input type="text" name="map['b'].userPwd" value="123四">
    6                <button>添加</button>
    7            </form>

    结果为[{a=[userName:张三,userPwd:123三], b=[userName:李四,userPwd:123四]}]

    最后总结一下,在Struts2中,数组的赋值在Action里面的写法都大同小异,需要注意的是前台的代码写的方式不一样。(Struts2学习笔记)

      --2019.7.4 我在冬天,赌的是下一次春天

    因上努力,果上随缘
  • 相关阅读:
    看net2.0头晕眼花,是不是该做个具体的程序呢
    安装SQLServer2000时,提示"以前的某个程序安装已在安装计算机上创建挂起的文件操作。运行安装程序之前必须重新启动计算机"
    刚装的WIN7,用了一下午,记一下备忘
    不同系统开启和关闭fso的方法(转)
    希腊字母以及发音
    meta 标签的作用
    电信禁止路由上网的最佳破解方法(转)
    安装系统
    网络工程师笔记
    GHOST操作
  • 原文地址:https://www.cnblogs.com/zemengcheng/p/11135050.html
Copyright © 2011-2022 走看看