zoukankan      html  css  js  c++  java
  • 【转载】关于ActionContext.getContext().getParameters()获值问题

    ActionContext.getContext().getParameters():一个学员问题的解答  

    2012-11-12 15:12:05|  分类: 默认分类 |  标签:struts2   |举报 |字号 订阅

     
     
    这是一个学员发给我的问题,虽然有点怪,貌似明白他在思考的问题。
    照图贴上,说明一下action是struts2 Action, 还没讲到struts2,他自己学的,不错。

    ActionContext.getContext().getParameters():一个学员问题的解答 - ppy2790@126 - IT AIR
     
    从以上问题可以看出,他试图是想在Action中用Servlet中的request.getParament的方式来获取表单提交的值 (或URL传递的参数)。
     
    那问题就是:在Action中如何获取HttpServletRequest对象:
     
    1、第一种方法:
                    ActionContext ctx = ActionContext.getContext();
    Map request = (Map) ActionContext.getContext().get("request");
    System.out.println(request.get("name"));
     
    2、第二种方法:
                    HttpServletRequest req1 = ServletActionContext.getRequest();
    String n = req1.getParameter("name");
    System.out.println("n------"+n);
     
    3、第三种方法:
                   HttpServletRequest req2 = (HttpServletRequest) ActionContext
    .getContext()
    .get(org.apache.struts2.StrutsStatics.HTTP_REQUEST);
     
    String sname = req2.getParameter("name");
    System.out.println("req sname----" + sname);
     
    以上第2、3种方法都可以获得HttpServletRequest,通过getParameter方法获取值。
     
    4、方法:Map<String, Object> params = ActionContext.getContext().getParameters();
                    这个方法我也没用过。在Action中获取request一般用第一种方法。
                   只能先做一些测试: getParameters()可以通过map数据中key获得页面提交的参数名。理论上通过遍历key,可以获取value, (得到页面传来的值)。或者通过params.get("name")得到name参数的值。但是输出看到的却是如,[Ljava.lang.String;@1e630208 。(一个String对象!)
                   通过测试我发现: param.get("name")是一个String数组(为什么要返回数组不清楚,待查。可能的考虑是value应该保存一个object, 如果是一个对象,应该是有多个值的)。
    那要用这种方法输出name的值,应该这样写:     System.out.println(((String[])params.get("name"))[0]);  输出即为传过来的name对应的值。OK!
     
     ActionContext.getContext().getParameters()具体待查,欢迎大家补充!
     
    要取页面提交,传过来的值,还是用struts2提供的封装的方法。
  • 相关阅读:
    几个ID
    一百层高楼和两个棋子
    快速了解的链接 shell sed awk
    用shell实现一个“输入密码”程序
    i love you do you love me
    打造全新视觉环境
    【转】LINUX 环境变量总结
    TextBox输入限制
    获取CPU和硬盘序列号
    Lable属性设置(winform)
  • 原文地址:https://www.cnblogs.com/yanff/p/3535349.html
Copyright © 2011-2022 走看看