• 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

  • 相关阅读:
    用Jenkins构建Django持续集成环境
    DACLs and ACEs
    windows共享文件分析
    summary
    Mysql InnoDB行锁实现方式
    网关 整理 fastcgi wsgi
    Git提交代码规范 而且规范的Git提交历史,还可以直接生成项目发版的CHANGELOG(semantic-release)
    松本行弘:代码的未来(图灵访谈)
    “对外部(局部)变量的访问”是C语言函数指针的最大弱点
    CAP解决方案-BASE
  • 原文地址:https://www.cnblogs.com/tengpan-cn/p/5212029.html
Copyright © 2020-2023  润新知