Spring MVC 学习 之 - URL参数传递

 

 @Controller:

         在类上注解,则此类将编程一个控制器,在项目启动 Spring 将自动扫描此类,并进行对应URL路由映射。

首先基本的写法:

 @RestController:作用也是进行对应URL路由映射

两者区别:就是RestController 可返回数据,Controller只能返回页面,

简单来说:如果你要 return 返回一个对象或集合 就用RestController  就可以了

 

@RequestMapping

         指定URL映射路径,如果在控制器上配置 RequestMapping  ,具体请求方法也配置路径则映射的路径为两者路径的叠加 常用映射如:RequestMapping("/aaa")

        配置映射路径:

 

@Controller 注解   这个注解只能跳转页面

@Controller
@RequestMapping("/emp")        //如果加在类上,用get的方式访问,会自动匹配get
public class Manage3Controller {

    @RequestMapping(method = RequestMethod.GET)    //get的请求
    public String selectAll(Model model) {
        List<Staff> staffList = managerServiceFromMock.selectAll();
        System.out.println(staffList);
        model.addAttribute("stafflist", staffList);
        return "home";                     //要返回的页面
    }

 

 //也可以这样写
  @RequestMapping(value ="/emp",method = RequestMethod.GET)
  public String tt(){
   return "home";
  }

 

//这样也可以
@GetMapping("/emp")
public String input(Book book) {
return "book_input";
}

get方法:接收url带参数

 @RequestMapping("/del/{id}")
    public String del(@PathVariable("id") int id) {
        staffMapper.deleteByPrimaryKey(id);
        return "redirect:/emp1";
    }

这样也可以:

   @RequestMapping("/del")
    public String del(int id) {
        staffMapper.deleteByPrimaryKey(id);
        return "redirect:/emp1";
    }

 

 

post方法 第一种:

  @RequestMapping(method = RequestMethod.POST)
    public String insert() {return "redirect:/emp1";
    }

 第二种:

 @PostMapping("/book")
    public String submit(@Valid Book book, BindingResult result) {
        if (result.hasErrors())
            return "book_input";

        System.out.println("正常业务。。。。");
        return "book_home";
    }

 

posted @ 2018-12-31 16:08  随★风  阅读(257)  评论(0编辑  收藏  举报