• struts2获取请求参数的三种方式及传递给JSP参数的方式


    接上一篇文章
    package test;
    
    import com.opensymphony.xwork2.ActionSupport;
    import javax.servlet.http.*;
    import org.apache.struts2.ServletActionContext;
    import com.opensymphony.xwork2.ActionContext;
    import java.util.*;
    public class HelloAction extends ActionSupport {
        public String jname = "";
        public String jid = "";
        @Override
        public String execute() throws Exception {
            // TODO Auto-generated method stub
            return super.execute();
        }
        
        private String str = "";
    
        public String hello() {
            this.str = "hello!!!";
            System.out.println("方法一,把参数作为Action的类属性,让OGNL自动填充:");
            System.out.println("jname:" + jname + "  jid:" + jid);
            
            ActionContext context=ActionContext.getContext();  
            HttpServletRequest request = (HttpServletRequest)context.get(ServletActionContext.HTTP_REQUEST);
            System.out.println("方法二,在Action中取得HttpServletRequest对象,使用request.getParameter获取参数");
            System.out.println("jname:" + request.getParameter("jname") + "  jid:" + request.getParameter("jid"));
            
            Map  parameterMap=context.getParameters();    
            
            String bookName2[]=(String[])parameterMap.get("jname");    
            String bookPrice2[]=(String[])parameterMap.get("jid");    
                
            System.out.println("方法三,在Action中使用ActionContext得到parameterMap获取参数:");    
            System.out.println("jname: " +bookName2[0]);    
            System.out.println("jid: " +bookPrice2[0]);  
            return "success";
        }
    
        public String getStr() {
            return str;
        }
    
        public void setStr(String str) {
            this.str = str;
        }
    
        public String getJname() {
            return jname;
        }
    
        public void setJname(String jname) {
            this.jname = jname;
        }
    
        public String getJid() {
            return jid;
        }
    
        public void setJid(String jid) {
            this.jid = jid;
        }
    }
    HelloAction.java

    总结: 

    方法一:当把参数作为Action的类属性,且提供属性的getter/setter方法时,xwork的OGNL会自动把request参数的值设置到类属性中,此时访问请求参数只需要访问类属性即可。 
    方法二:可以通过ActionContext对象Map  parameterMap=context.getParameters();方法,得到请求参数Map,然后通过parameterMap来获取请求参数。需要注意的是:当通过parameterMap的键取得参数值时,取得是一个数组对象,即同名参数的值的集合。 
    方法三:通过ActionContext取得HttpServletRequest对象,然后使用request.getParameter("参数名")得到参数值。

    参考:http://www.cnblogs.com/bmbm/archive/2011/11/28/2342273.html

  • 相关阅读:
    四元数
    Advanced Packaging Tool
    离散
    Functional programming
    异步传输同步传输
    没有动态库链接:可执行的文件大小一个就有几百兆 DynamicLink Libraries
    Levenshtein distance
    arguments
    prototype linkage can reduce object initialization time and memory consumption
    similar_text
  • 原文地址:https://www.cnblogs.com/tengpan-cn/p/5212029.html
Copyright © 2020-2023  润新知