struts表单数据的获取

  • 表单数据的获取有三种方式,分别是使用ActionContext类获取、使用ServletActionContext类获取、使用接口获取。

使用ActionContext类获取

首先我们需要写一个Action,并且让他继承ActionSupport,因为我们之前学过,在传值的时候,使用继承ActionContext比较多。然后我们还需要配置Struts.xml文件,重点是别忘了写前端页面

  • 第一步,来看struts.xml的配置:

    
        
    
  • 第二步,来看前端页面的代码:

  
   
username:
password:
address:
  • 第三步,来看Action里面的代码:
package com.xuman.from;
import java.util.Arrays;
import java.util.Map;
import java.util.Set;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

public class from1 extends ActionSupport {
    @Override
    public String execute() throws Exception {
        // TODO Auto-generated method stub
        //第一种方式使用ActionContext类获取
        //1、获取ActionContext对象
        ActionContext context = ActionContext.getContext();
        //2、调用方法得到表单的数据
        //key是表单输入项name属性值,value是输入的值
        Map map = context.getParameters();
        Set keySet = map.keySet();
        for(String key : keySet){
            //根据key得到value
            //数组形式:因为输入项里面可能有复选框情况
            Object[] objects = (Object[]) map.get(key);
            System.out.println(Arrays.toString(objects));
        }
        return NONE;
    }
}

在这里我并没有写提交的页面,但是我在Action里面让他输入了数据,结果如下:


提交数据
控制台

使用ServletActionContext类获取

  • 第一步,同样是先创建一个Action,并且配置:
package com.xuman.from;


import java.util.Arrays;
import java.util.Map;
import java.util.Set;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

public class from2 extends ActionSupport {
    @Override
    public String execute() throws Exception {
        //第二种方式使用ServletActionContext类获取
        //1使用ServletActionContext获取request对象
        HttpServletRequest request = ServletActionContext.getRequest();
        //2调用request里面的方法得到结果
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        String address = request.getParameter("address");
        System.out.println(username+password+address);
    return NONE;
    }
}
    
  • 第二步,前端页面的代码:

   
username:
password:
address:
  • 第三步,配置struts.xml:

        
            /doudou.jsp
        
    

输入结果如下:


提交数据

运行结果

使用接口获取(了解就好)

接口

在action中获取域对象:

你可能感兴趣的:(struts表单数据的获取)