博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring MVC注解的一些案列
阅读量:4291 次
发布时间:2019-05-27

本文共 3753 字,大约阅读时间需要 12 分钟。

1.spring MVC-annotation(注解)的配置文件ApplicationContext.xml

01.spring MVC最基本的注解之零散参数自动装配

@Controller@RequestMapping("/hr")public class MyController {    @RequestMapping("/hello.do")    public String show(String name,Model model){        System.out.println("=="+name+"==");        model.addAttribute("msg",name+"展示页面");        return "happy";    }}

其中,方法中的参数与界面表单的name属性并且和实体类中的字段name保持一直("三者合一"),Model类型代替了ModelAndView的用法去装载数据然后直接return到jsp界面,

如果直接像图中返回happy那样就需要在配置文件中添加一个视图解析器

如果界面中的属性不一致,则需用到注解@RequestParam来进行指明

@RequestMapping(value="/list.do",method=RequestMethod.POST)    public String list(Model model,@RequestParam(value="uname",required=false) String name){        System.out.println("=="+name);        return "happy";    }

02.spring MVC注解之参数以对象、作用域、map、泛型作为传输数据

//装配对象类型   @RequestMapping(value="/list.do",method=RequestMethod.POST)   public String list(Model model,UserInfo info){             System.out.println("===="+info.getUname+"\t地址"+info.getRadd.getAdd+"\t图书1"+info.getBooklist.get(0).getBookname);       model.addAttribute("uname", info.getUname);       return "index";   }

03.获取请求的地址栏中的属性参数值

@Controllerpublic class HandleReturn {    /*     * 获取地址栏中的属性值     */    @RequestMapping("/{rname}/{age}/first.do")    public String handlereturn(Model model,@PathVariable("rname") String name,@PathVariable int age){        System.out.println(name+"==="+age);        model.addAttribute("name", name);        model.addAttribute("age", age);        return "handle";    }}

其中,如果地址栏中的属性名称与方法参数名不一致,就通过如代码所示的注解@PathVariable来指明地址栏中的属性名称rname与name关系

04.spring MVC注解之返回值void、Object、string

@Controllerpublic class HandleAjax {     @RequestMapping("/ajax.do") public void handleAjax(HttpServletResponse response) throws Exception{ //虚拟出一些数据 Map
map=new HashMap
; UserInfo u1=new UserInfo; u1.setAge(12); u1.setName("恭喜就业"); UserInfo u2=new UserInfo; u2.setAge(122); u2.setName("顺利就业"); map.put("001",u1); map.put("001",u2); //工具 map----json字符串 fastjson String jsonString = JSON.toJSONString(map); response.setCharacterEncoding("utf-8"); //响应流 response.getWriter.write(jsonString); response.getWriter.close; } }
/* * Object返回值类型代替其他类型 */@Controllerpublic class HandleAjaxObject {    @RequestMapping("/num.do")    @ResponseBody    public Object number {        return 1;    }    @RequestMapping(value = "/nums.do", produces = "text/html;charset=utf-8") @ResponseBody public Object numberS { return "汉字"; } // 处理器方法-----UserInfo @RequestMapping(value = "/third.do") @ResponseBody public Object doThird { UserInfo info = new UserInfo; info.setAge(12); info.setName("Happy"); return info; }

使用Object作为返回值需要用到注解@ResponseBody来将数据回传到jsp界面

----js -----body 

使用void返回值返回json数据回传到jsp界面

最后就是String类型的了,不过跟void类型的返回值很相似

使用String作为返回值需要用到注解@ResponseBody来支持json数据回传到jsp界面

/* * String返回值类型代替其他类型 */@Controllerpublic class HandleAjax {    @RequestMapping("/ajax.do")    public void handleAjax(HttpServletResponse response) throws Exception{ //伪造数据 Map
map=new HashMap
; UserInfo u1=new UserInfo; u1.setAge(12); u1.setName("恭喜就业"); UserInfo u2=new UserInfo; u2.setAge(122); u2.setName("顺利就业"); map.put("001",u1); map.put("001",u2); //工具 map----json字符串 fastjson String jsonString = JSON.toJSONString(map); response.setCharacterEncoding("utf-8"); return jsonString ; }

05.重定向到另一个方法去

/* * 转发与重定向 * 重定向到另一个方法 */@Controllerpublic class Dispatchreturn {    /*     * 重定向到另一个方法dsipatch.do     */    @RequestMapping(value="add.do")    public String AddAllInfo{        return "redirect:dolist.do";    }        @RequestMapping(value="dolist.do")    public String doList{        return "redirect:/list.jsp";    }}

注意:"/"可写可不写

转载地址:http://qvggi.baihongyu.com/

你可能感兴趣的文章
C++中的map
查看>>
Python小时钟
查看>>
C语言清空getchar缓冲区
查看>>
python中的全局变量
查看>>
python的decode和encode
查看>>
c++词法分析器
查看>>
python中的is、==和cmp()
查看>>
python Tkinter的image不能显示的问题
查看>>
python 中的相互import问题
查看>>
linux 使用锐捷认证上网
查看>>
JavaScript 正则表达式的test,exec,match
查看>>
JavaScript 函数引用的疑问
查看>>
JavaScript 参数 arguments深入了解以及javascript内置数据类型的讨论
查看>>
安卓开发JavaScript调用Java
查看>>
使用webview要注意的问题
查看>>
利用ServerSocket获取浏览器http请求的header
查看>>
JavaScript 在for循环中绑定事件
查看>>
git获取旧版本
查看>>
安卓绘图需要注意的
查看>>
安卓真机调试出现Installation failed due to invalid APK file!错误的解决办法
查看>>