SpringMVC通过注解获得参数

SpringMVC可以通过RequestParam注解来映射获得参数,具体用法如下:

例子:

配置过程省略

1.新建controller类

  

 1 package com.loger.controller;
 2
 3 import org.springframework.stereotype.Controller;
 4 import org.springframework.web.bind.annotation.RequestMapping;
 5
 6
 7 @Controller
 8 public class RequestParam {
 9
10     public static final String SUCCESS = "success";
11
12     @RequestMapping(value="/requestparam")
13     public String requestParam(@org.springframework.web.bind.annotation.
14             RequestParam(value="username") String un,
15             @org.springframework.web.bind.annotation.RequestParam(value="age") Integer age){
16
17         System.out.println(un + " " + age);
18
19         return SUCCESS;
20     }
21 }

2.index.jsp

运行结果:

补充:如何表单名跟方法的参数名一致的话,无需再用@RequestParam注解来映射。

  如改为

   @RequestMapping(value="/requestparam")
     public String requestParam(String username,Integer age)即可!

用类作为参数,且包含级联属性的参数获取方法:  1.新建Adress类  
 1 package com.loger.bean;
 2
 3 public class Address {
 4     private String province;
 5     private String city;
 6     public String getProvince() {
 7         return province;
 8     }
 9     public void setProvince(String province) {
10         this.province = province;
11     }
12     public String getCity() {
13         return city;
14     }
15     public void setCity(String city) {
16         this.city = city;
17     }
18     @Override
19     public String toString() {
20         return "Address [province=" + province + ", city=" + city + "]";
21     }
22
23 }

2.新建User类

 1 package com.loger.bean;
 2
 3 public class Address {
 4     private String province;
 5     private String city;
 6     public String getProvince() {
 7         return province;
 8     }
 9     public void setProvince(String province) {
10         this.province = province;
11     }
12     public String getCity() {
13         return city;
14     }
15     public void setCity(String city) {
16         this.city = city;
17     }
18     @Override
19     public String toString() {
20         return "Address [province=" + province + ", city=" + city + "]";
21     }
22
23 }

3.controller

4.表单

  User有级联属性Address,表单传入的参数是address.city address.province

1 <form action="pojoparam">
2         姓名:<input type="text" name="name"><br>
3         年龄:<input type="text" name="age"><br>
4         城市:<input type="text" name="address.city"><br>
5         省份:<input type="text" name="address.province"><br>
6         <input type="submit" value="提交"><br>
7     </form>

运行结果:

				
时间: 2024-11-03 10:59:53

SpringMVC通过注解获得参数的相关文章

从springmvc源码看参数绑定注解和返回值注解

在使用springmvc提供注解进行方法参数的绑定和方法返回值处理的时候,比如说有时候会报出400或500之类的错误:自以为掌握了注解的用法,但某些情况下进行参数绑定的扩展更为合理,等等这些情况都需要我们能深入地了解springmvc的内部实现.在进行错误调试的时候,根据不同的注解和返回值类型可深入到springmvc具体的实现类源代码进行跟踪查看,有助于我们用好springmvc. 1.进行方法参数的解析绑定的接口是HandlerMethodArgumentResolver 下面是一些具体的实

关于spring-mvc的InitBinder注解的参数

关于spring-mvc的InitBinder注解的参数 通过Spring-mvc的@InitBinder注释的方法可以对WebDataBinder做一些初始化操作.比如设置Validator. 我一直在想能不能为每个Request或者每个Action方法单独设置Validator.也就是说Controller里有多个被@InitBinder标注的方法. 在不同的Action时被分别调用. 我注意到了@InitBinder的value参数, api docs里是这样描述的:The names o

Spring学习笔记-springMVC基于注解的控制器(Demo)

springmvc的整体运行流程图: 基于@Controller和@RequestMapping是springmvc示例代码 在web.xml中配置springmvc核心分发器DispatcherServlet .... <servlet> <servlet-name>springmvc</servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet </

springMvc的注解注入方式

springMvc的注解注入方式 最近在看springMvc的源码,看到了该框架的注入注解的部分觉的有点吃力,可能还是对注解的方面的知识还认识的不够深刻,所以特意去学习注解方面的知识.由于本人也是抱着学习的态度来阅读源码,若文章在表述和代码方面如有不妥之处,欢迎批评指正.留下你的脚印,欢迎评论!希望能互相学习. 1,首先定义三个常用的注解Service,Autowired,Contrller:(主要的解释都在代码中有,在这里就不多陈述) Service: package com.lishun.A

springmvc常用注解标签详解(转载)

1.@Controller 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示.在SpringMVC 中提供了一个非常简便的定义Controller 的方法,你无需继承特定的类或实现特定的接口,只需使用@Controller 标记一个类是Controller ,然后使用@RequestMapping 和@RequestP

04springMVC结构,mvc模式,spring-mvc流程,spring-mvc的第一个例子,三种handlerMapping,几种控制器,springmvc基于注解的开发,文件上传,拦截器,s

 1. Spring-mvc介绍 1.1市面上流行的框架 Struts2(比较多) Springmvc(比较多而且属于上升的趋势) Struts1(即将被淘汰) 其他 1.2  spring-mvc结构 DispatcherServlet:中央控制器,把请求给转发到具体的控制类 Controller:具体处理请求的控制器(配置文件方式需要配置,注解方式不用配置) handlerMapping:映射处理器,负责映射中央处理器转发给controller时的映射策略 ModelAndView:服务

springmvc常用注解标签详解

在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示.在SpringMVC 中提供了一个非常简便的定义Controller 的方法,你无需继承特定的类或实现特定的接口,只需使用@Controller 标记一个类是Controller ,然后使用@RequestMapping 和@RequestParam 等一些注解用以定义

springMVC基于注解的控制器

springMVC基于注解的控制器的优点有两个: 1.控制器可以处理多个动作,这就允许将相关操作写在一个类中. 2.控制器的请求映射不需要存储在配置文件中.使用requestMapping注释类型,可以对一个方法进行请求处理. 接下来介绍两个最重要的注释类型: 一.controller注释类型 这种注释类型用于指示Spring类的实例是一个实例: import org.springframework.stereotype; public class CustemerController{ //m

springmvc 常用注解

1.@Controller 在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回给对应的View 进行展示.在SpringMVC 中提供了一个非常简便的定义Controller 的方法,你无需继承特定的类或实现特定的接口,只需使用@Controller 标记一个类是Controller ,然后使用@RequestMapping 和@RequestP