• java简单学习笔记20190205


    Spring MVC控制器的开发

    在类上方中标注@Controller并标注@ReqeustMapping("/project")表示为MVC的请求控制器,路径为/项目名称/请求路径,之后在方法中标注@RequestMapping("/index“),则表示请求的路径是前面的/项目名称/请求路径/请求的控制器index,返回的是ModelAndView视图对象,可设置视图名称mv.setViewName("index")和前面的MVC前缀"/web-inf/jsp/"+返回的视图名称+后缀名".jsp"一起生成的一个完整 的请求路径。

    @RequestMapping("xxxx",xx)有其配置项。

    接收获取的请求参数方法。

    在控制 器的方法中使用@RequestParam("xxx"),并有其配置项request等,Xxx表求url请求中的参数名称。

    @SessionAttribute("xxx"),并有配置项,xxx表示在session中的键值项,

    接收普通的参数,在控制器的方法里,和普通的方法相同,并不要在参数前加@注解,只要形参名称和请求中传的参数名称一致就可以获取到值。getxxx(string username,string password).................

    如果参数太多,可有使用类作为接收的形参。public xxx getXxx(Role role){}

    还有符合Restful风格的类的xxx/getRole/1这种,可在控制 器方法中标注@RequestMapping("/xxx/getRole/{id}",用花括号{id}表示其中请求的参数名称,在方法的形参前用@PathVariable("id") lonng id)...来获取值。

    如果请求的参数值是参数体,一个json字符串的值,没有请求参数名称,那么在控制 器的请求方法中的形参前标注@RequestBody Role role)....spring mvc会自动会把JSON字符串反序列化为相应的类,数组,集合类似。

    重定向只要控制器方法返回return "redirect:xxxxx.xxx.xdo"就行了。重定向并带参数,可以在方法中增加Model形参,并model.addAttribute(key,value),或者ModelAndView形参并.addObject(key,value),mv.setViewName("redirect:xxxxx);return mv;复杂的json数据,mv.setView(new MappingJackson2JsonView());mv.addObject(key,value);return mv;

    以上都是传递简单的参数,是以字符串的形式传递的。如果要以对象的方法传递,则可以用xxx(RedirectAttribute ra,xxx),ra.addFlashAttribute(key,对象);return "redirect:xxxxx";其原理是mvc把对象存到了session中,在重定向的页面取值后就从Session中删除了对象。

  • 相关阅读:
    python基础之lambda,sort,filter,map,递归函数的运用
    python基础之生成器,生成器函数,列表推导式
    python基础之函数名的使用,闭包以及迭代器
    移动端自带框架
    app自动化环境部署和原理
    夜神模拟器连接不上adb
    Appium下载和配置
    word如何添加下滑线
    loadrnner组成
    性能测试
  • 原文地址:https://www.cnblogs.com/lofe/p/10354181.html
Copyright © 2020-2023  润新知