首页 > 代码库 > spring mvc 注解访问控制器以及接收form数据的方式,包括直接接收日期类型及对象的方法

spring mvc 注解访问控制器以及接收form数据的方式,包括直接接收日期类型及对象的方法

Spring 中配置扫描器

<!-- springmvc的扫描器-->

<context:component-scan base-package="com.beifeng.servlet"/>

建立Controller 类

@Controller

@RequestMapping(value="http://www.mamicode.com/sys/")

public class RegController {

    @RequestMapping(value="http://www.mamicode.com/reg.do",method=RequestMethod.POST)

    public  String reg(){

        System.out.println("--用户注册--");

        return "index";

    }

}

 

注意使用注解时不能使用控制类的类名控制器的映射,否则会找不到

<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"></bean>

 

接收前台表单的数据可以通过 HttpServletRequest 也可以通过表单字段名称 也可以通过对象来接收

  1. 数组的接收直接写数组
  2. 日期类型的接收可以通过InitBinder 函数来定义日期转换的格式

 

         /**

          * 通过HttpServletRequest 获取页面数据

          *

          * @return

          */

         @RequestMapping("reg1.do")

         public String reg1(HttpServletRequest request) {

                   String userId = request.getParameter("userId");

                   String userPw = request.getParameter("userPw");

 

                   System.out.println("账号:" + userId);

                   System.out.println("密码:" + userPw);

 

                   return "index";

         }

 

         /**

          * 获取姓名

          *

          * @return

          */

         @RequestMapping("reg2.do")

         public String reg2(String userName) {

 

                   System.out.println("姓名:" + userName);

 

                   return "index";

         }

 

         @RequestMapping("reg3.do")

         public String reg3(Integer userId, String userName, Date userBrithday) {

                   System.out.println("账号:" + userId);

                   System.out.println("姓名:" + userName);

                   System.out.println("生日:" + userBrithday);

                   return "index";

         }

 

         /**

          * 获取复选框的值:多个值

          *

          * @param xqs

          * @return

          */

         @RequestMapping("reg4.do")

         public String reg4(String[] xqs) {

 

                   for (String xq : xqs) {

                            System.out.println("兴趣:" + xq);

                   }

 

                   return "index";

         }

 

         /**

          * 通过对象来获取页面参数

          *

          * @param xqs

          * @return

          */

         @RequestMapping("reg5.do")

         public String reg5(UserInfo user) {

 

                   System.out.println(user);

 

                   return "index";

         }

 

         /**

          * 添加时间的属性编辑器

          */

         @InitBinder

         public void InitBinder(ServletRequestDataBinder bin) {

                   bin.registerCustomEditor(Date.class, new CustomDateEditor(

                                     new SimpleDateFormat("yyyy-MM-dd"), true));

         }

spring mvc 注解访问控制器以及接收form数据的方式,包括直接接收日期类型及对象的方法