zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Delphi中Indy10的IdTcpClient和IdTcpServer数据通信
    Delphi中TStringList的使用
    VC2008中处理CStatic控件的单击STN_CLICKED消息
    VS2008中编译运行MFC应用程序时,出现无法启动程序,因为计算机中丢失mfc90ud.dll的解决方案
    adb 常用命令大全
    Windows XP 下如何使用Qt Creator中的Git版本控制功能
    git安装及命令使用和github网站
    Win7下VS2008安装cocos2d-2.0-x-2.0.4模板时, 运行InstallWizardForVS2008.js文件执行失败的解决办法
    VC2008中将CString转换成const char*的一种有效方法
    VS2008中MFC对话框界面编程Caption中文乱码的解决办法
  • 原文地址:https://www.cnblogs.com/tengpan-cn/p/5212029.html
Copyright © 2011-2022 走看看