zoukankan      html  css  js  c++  java
  • 笔记-Java-Spring MVC:JAVA之常用的一些Spring MVC的路由写法以及参数传递方式

    ylbtech-笔记-Java-Spring MVC:JAVA之常用的一些Spring MVC的路由写法以及参数传递方式
    1.返回顶部
    1、

    常用的一些Spring MVC的路由写法以及参数传递方式。

    这是一些测试代码:

    package com.my.controller;
     
    import java.io.PrintWriter;
    import java.util.Date;
     
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
     
    import org.springframework.format.annotation.DateTimeFormat;
    import org.springframework.stereotype.Controller;
    import org.springframework.ui.Model;
    import org.springframework.web.bind.annotation.PathVariable;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.bind.annotation.RequestParam;
    import org.springframework.web.bind.annotation.ResponseBody;
    import org.springframework.web.servlet.ModelAndView;
     
    @Controller
    @RequestMapping(value="/default")
    public class TestController {
     
        /**
         * 使用ModelAndView
         * @return
         */
        @RequestMapping("/")
        public ModelAndView index() {
            ModelAndView mv = new ModelAndView();
            mv.addObject("message", "This is index!");
            mv.setViewName("index");
            return mv;
        }
         
        /**
         * 使用Model
         * @param model
         * @return
         */
        @RequestMapping("/index2")
        public String index2(Model model) {
            model.addAttribute("message", "This is index2!");
            return "index2";
        }
         
        /**
         * 直接返回内容
         * @return
         */
        @RequestMapping(value="/index3", method=RequestMethod.GET)
        @ResponseBody
        public String index3() {
            return "This is index3!";
        }
         
        /**
         * 直接返回对应的index4的view
         */
        @RequestMapping(value="/index4", method=RequestMethod.GET)
        public void index4() {
        }
         
        /**
         * 直接返回index5的view,注意方法后缀:Handler
         * 比较与index4的区别
         */
        @RequestMapping(value="/index5", method=RequestMethod.GET)
        public void index5Handler() {
        }
         
        /**
         * 传参方式调用
         * @param message
         * @return
         */
        @RequestMapping(value="/index6/{message}", method=RequestMethod.GET)
        public ModelAndView index6(@PathVariable String message) {
            ModelAndView view = new ModelAndView("index6");
            view.addObject("message", message);
            return view;
        }
         
        /**
         * 传参方式调用,使用Model
         * 注意方法内的Model是直接addAttribute,没有key
         * 区别index6
         * @param message
         * @param model
         * @return
         */
        @RequestMapping(value="/index7/{message}", method=RequestMethod.GET)
        public String index7(@PathVariable String message, Model model) {
            model.addAttribute(message);
            return "index6";
        }
         
        /**
         * 传参调用
         * 指定参数名称
         * @param userName
         * @param password
         * @return
         */
        @RequestMapping(value="/index8/{username}/{password}")
        public ModelAndView index8(@PathVariable("username") String userName, @PathVariable("password") String password) {
            ModelAndView view = new ModelAndView("index8");
            view.addObject("userName", userName);
            view.addObject("password", password);
            return view;
        }
         
        /**
         * 使用request/response取得参数
         * @param request
         * @param response
         * @return
         */
        @RequestMapping(value="/index9")
        public String index9(HttpServletRequest request, HttpServletResponse response) {
            String message = request.getParameter("message");
            request.setAttribute("message", message);
            return "index9";
        }
         
        /**
         * 使用@RequestParam方式取得参数
         * @param message
         * @return
         */
        @RequestMapping(value="/index10")
        public ModelAndView index10(@RequestParam("message") String message) {
            ModelAndView view = new ModelAndView("index10");
            view.addObject("message", message);
            return view;
        }
         
        /**
         * 默认传参方式
         * @param message
         * @param model
         * @return
         */
        @RequestMapping(value="/index11")
        public String index11(String message, Model model) {
            model.addAttribute("message", message);
            return "index10";
        }
         
        /**
         * 传入PrintWriteer,也可以传入@CookieValue
         * @param out
         * @param message
         * @param model
         * @return
         */
        @RequestMapping(value="/index12")
        public String index12(PrintWriter out, String message, Model model) {
            out.println(message);
            model.addAttribute("message", message);
            return "index10";
        }
         
        /**
         * 日期参数
         * @param day
         * @return
         */
        @RequestMapping(value="/index13")
        public ModelAndView index13(@RequestParam("day") @DateTimeFormat(pattern="yyyy-MM-dd") Date day) {
            ModelAndView view = new ModelAndView("index10");
            view.addObject("message", day.toString());
            return view;
        }
         
        /**
         * 默认action
         * @param message
         * @return
         */
        @RequestMapping
        public ModelAndView index14(String message) {
            ModelAndView view = new ModelAndView("index");
            view.addObject("message", message);
            return view;
        }
         
        /**
         * 限制访问的地址,必需有参数p=1才能触发
         * @param message
         * @param model
         * @return
         */
        @RequestMapping(value="/index15/{message}", params="p=1", method=RequestMethod.GET)
        public String index15(@PathVariable("message") String message, Model model) {
            model.addAttribute("message", message);
            return "index";
        }
         
    }
    2、
    2.返回顶部
     
    3.返回顶部
     
    4.返回顶部
     
    5.返回顶部
     
     
    6.返回顶部
     
    warn 作者:ylbtech
    出处:http://ylbtech.cnblogs.com/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    socketpair + signal + select 的套路
    java 远程调用 RPC
    Java 序列化
    Java Socket 编程
    云计算 IaaS,SaaS,PaaS的区别?一个通俗易懂的吃货文章
    如何应对网站反爬虫策略?如何高效地爬大量数据?
    java NIO详解
    LigerUI LigerGrid getSelectedRows() 多选顺序 不是从上到下修改方法
    JSON风格指南
    Json 工具介绍 fastjson gson jackson
  • 原文地址:https://www.cnblogs.com/storebook/p/9798658.html
Copyright © 2011-2022 走看看