【spring】springmvc接收请求参数的方法

标签: spring springmvc 接收 | 发表时间:2014-06-19 11:36 | 作者:lizhuquan0769
出处:http://www.iteye.com
     控制器的请求处理方法的签名可以将任何事物作为参数,我们可以将HttpServletRequest、HttpServletResponse、 String或者数字参数传递进来,这些参数可以对应请求中的查询参数、cookie值、HTTP请求头的值或其他一些可能的选项。

     下面一些例子来说明
  1. 使用@RequestParam绑定请求参数值
    @RequestMapping(value="/method1")  
        public String method1(  
                @RequestParam(value="userName",required = false) String userName,  
                @RequestParam("pwd") String pwd){  
            return "methodSignature";  
        }
     

  2. 使用@CookieValue绑定请求中的Cookie值
    @RequestMapping(value="/method2")  
        public String method2(  
                @CookieValue(value="sessionId",required=false)String sessionId){  
              
            return "methodSignature";  
        } 
     

  3. 使用@RequestHeader绑定请求报文头的属性值
    @RequestMapping(value="/method3")  
        public String method3(  
                @RequestHeader("Accept-Encoding") String encoding,  
                @RequestHeader("Keep-Alive") long keepAlive){  
            return "methodSignature";  
        }
     

  4. 使用@PathVariabl获取路径中传递参数
    public ModelAndView helloWorld(
                  @PathVariable String id, 
                  @PathVariable String str) {  
            System.out.println(id);  
            System.out.println(str);  
            return new ModelAndView( " /helloWorld " );  
    }  
     

  5. 使用表单对象绑定请求参数值
    @RequestMapping(value="/method4")  
        public String method4(User user){  
            return "methodSignature";  
        } 
     
  6. 使用Servlet API对象作为入参
    • 同时使用HttpServletRequest、HttpServletResponse、HttpSession 
      @RequestMapping(value="method5")  
          public void method5(
                    HttpServletRequest request,
                    HttpServletResponse response,
                    HttpSession session){  
              String userName = WebUtils.findParameterValue(request, "userName");  
              response.addCookie(new Cookie("userName",userName));  
          }
       
    • 使用Servlet原生API接口,如WebRequest和NativeWebRequest等 
      @RequestMapping(value="method6")  
          public String method6(WebRequest request){  
              String userName = request.getParameter("userName");  
              return "methodSignature";  
          } 
       
    • 使用IO对象作为入参 
      如java.io.InputStream/java.io.Reader 及java.io.OutputStream/java.io.Writer 
      @RequestMapping(value="method7")  
          public void method7(OutputStream os) throws IOException{  
              Resource res = new ClassPathResource("/image.jpg");//读取类路径下的图片文件  
              FileCopyUtils.copy(res.getInputStream(), os);  
          }  
       
    • 使用其他类型的参数
      java.util.Locale/java.security.Principal
      也可以通过Servlet的HttpServletRequest的getLocale()及getUserPrincipal()  
      @RequestMapping(value="method8")
      public String method8(Locale locale,Principal principal){  
              return "methodSignature";  
          }  
       
      以上转自 :http://blog.csdn.net/jingyuan_/article/details/9465415
                        http://blog.csdn.net/yaerfeng/article/details/23658391



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [spring springmvc 接收] 推荐:

【spring】springmvc接收请求参数的方法

- - 开源软件 - ITeye博客
     控制器的请求处理方法的签名可以将任何事物作为参数,我们可以将HttpServletRequest、HttpServletResponse、 String或者数字参数传递进来,这些参数可以对应请求中的查询参数、cookie值、HTTP请求头的值或其他一些可能的选项. 使用@RequestParam绑定请求参数值.

spring+springMVC,声明式事务失效,原因以及解决办法

- - 开源软件 - ITeye博客
根本原因:由子容器扫描装配了@Service 注解的实例. 1.spring配置文件applicationContext中:. . . .

struts1,struts2,springMVC终极对比

- - CSDN博客Web前端推荐文章
         最近做项目用到了struts2,之前一直是用struts1和springMVC. 感觉到了struts2从很大程度上和这两个还是有很大区别的,所以今天搜集了些资料,给他们做一下对比.          Struts1官方已经停止更新,现在用的也比较少,这里主要讲一下struts2和struts1比较都有哪些不同和进步.

springmvc文件上传下载

- - ITeye博客
在网上搜索的代码 参考整理了一份. commons-fileupload.jar与commons-io-1.4.jar二个文件. 1、表单属性为: enctype="multipart/form-data". 2、springmvc配置.

SpringMVC 拦截器 筛选

- - ITeye博客
 如果只配置拦截类似于*.do格式的url,则对静态资源的访问是没有问题的,但是如果配置拦截了所有的请求(如我们上面配置的“/”),就会造成js文件、css文件、图片文件等静态资源无法访问. 一般Web应用服务器默认的Servlet名称是"default",所以这里我们激活Tomcat的defaultServlet来处理静态文件.