SpringMVC不仅提供了Xml的配置方式,还提供了注解的方式来声明一个Controller,本文属于SpringMVC的入门级内容,仅供学习分享使用,如有不足之处,还请指正。
1 <?xml version="1.0" encoding="UTF-8"?>
2 <beans xmlns="http://www.springframework.org/schema/beans"
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4 xmlns:context="http://www.springframework.org/schema/context"
5 xmlns:mvc="http://www.springframework.org/schema/mvc"
6 xsi:schemaLocation="http://www.springframework.org/schema/beans
7 http://www.springframework.org/schema/beans/spring-beans.xsd
8 http://www.springframework.org/schema/context
9 http://www.springframework.org/schema/context/spring-context.xsd
10 http://www.springframework.org/schema/mvc
11 http://www.springframework.org/schema/mvc/spring-mvc.xsd">
12 <!-- 配置注解的扫描 -->
13 context:component-scan base-package="com.hex.second"></context:component-scan14 支持MVC的注解 15 mvc:annotation-driven mvc:annotation-driven16 静态资源的支持 17 mvc:default-servlet-handler/>
18 </beans>
@Controller
//@RequestMapping("/HC")
3 public class HelloController {
4
5 /**
6 * 通过注解的方式声明Controller,不带参数
* @return
8 */
9 @RequestMapping("/Hello")
10 public ModelAndView HelloMvc(){
11 ModelAndView mav=new ModelAndView();
12 mav.addObject("msg","HelloWorld,HelloSpringMVC!!!");
13 mav.setViewName("WEB-INF/jsps/HelloWorld.jsp"14 return mav;
15 }
16 }
1 <%@ page language="java contentTypetext/html; charset=UTF-8"
2 pageEncodingUTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd" 4 html 5 headmeta http-equiv="Content-Type" content="text/html; charset=UTF-8"title>第一次接触SpringMVCbodyh1>欢迎信息11 >${msg}12 13 4. 访问
打开浏览器,输入网址即可访问,如下所示:
?

SpringMVC接收页面传递数据的方式(前端-->后端)
1. 通过方法的参数的方式
如下所示:SpringMVC能够自动将页面传递的数据和函数的参数匹配起来;
如果是日期格式的数据,需要进行格式化
1 * 以参数的方式传递获取页面传递过来的值
@param name
age
date 日期格式,由客户端传递参数到服务端时,需要进行日期格式化,否则会报错
* 注解如下:@DateTimeFormat(pattern="yyyy-MM-dd")
9 @RequestMapping("/Hello2"public ModelAndView HelloMvc2(String name,int age,@DateTimeFormat(pattern="yyyy-MM-dd")Date date){
11 System.out.println("name:"+name);
12 System.out.println("age:"+age);
13 System.out.println("date"+date);
14 ModelAndView mav=15 mav.addObject("name",name);
16 mav.addObject("age"17 mav.addObject("date"18 mav.setViewName("WEB-INF/jsps/HelloWorld2.jsp"19 20 }
2. 通过对象的方式进行数据的传递
如下所示,先定义一个User类,来接收页面传递的数据,SpringMVC能自动进行匹配
* 通过对象的方式接收参数,SpringMVC可以自动匹配参数到对象的属性中
* 方便扩展
user
6 7 @RequestMapping("/Hello3" 8 ModelAndView HelloMvc3(User user){
9 System.out.println("name:"+user.getName());
10 System.out.println("age:"+user.getAge());
11 System.out.println("date"+user.getDate());
12 ModelAndView mav=13 mav.addObject("name"14 mav.addObject("age"15 mav.addObject("date"16 mav.setViewName("WEB-INF/jsps/HelloWorld2.jsp"17 18 }
Jsp页面接收如下所示:以key.property的方式获取内容
>Hello world>ID:${user.id}12 >姓名:${user.name}13 >年龄:${user.age}14 >时间:${user.date}16 3. 通过内置对象的方式进行数据的传递
* 通过内置对象HttpServletRequest来获取参数
req
resp
7 @RequestMapping("/Hello4" ModelAndView HelloMvc4(HttpServletRequest req,HttpServletResponse resp){
9 System.out.println("name:"+req.getParameter("name"));
10 System.out.println("age:"+req.getParameter("age"11 System.out.println("date"+req.getParameter("date"12 往页面传递参数的一种
13 ModelAndView mav=14 mav.addObject("name",req.getParameter("name"15 mav.addObject("age",req.getParameter("age"16 mav.addObject("date",req.getParameter("date"17 mav.setViewName("WEB-INF/jsps/HelloWorld2.jsp"18 19 }
SpringMVC页面接收参数的方式(后端-->前端)
1. 采用ModelAndView进行传值
如下所示:可以通过键值对的方式增加参数
* 往页面传递参数
4 5 @RequestMapping("/Hello5" 6 ModelAndView HelloMvc5(){
7 8 ModelAndView mav= 9 mav.addObject("name","张三"10 mav.addObject("age",2011 mav.addObject("date",1)"> Date());
12 mav.setViewName("WEB-INF/jsps/HelloWorld2.jsp"13 14 }
2. 通过Model的方式传递参数
如下所示:Model作为一个参数,可以直接新增键值对,返回一个字符串,表示页面的路径
* 从后端往前端跳转,使用Model的方式传参
5 @RequestMapping("/Hello6" String HelloMvc6(Model model){
8 model.addAttribute("name",1)"> 9 model.addAttribute("age",1610 model.addAttribute("date",1)">11 return "WEB-INF/jsps/HelloWorld2.jsp";
12 }
3. 通过对象的方式传递参数
如下所示:将对象通过属性的方式进行传递,也需要一个key值作为标识
* 采用对象的方式传参到前台
model
5 6 @RequestMapping("/Hello7" 7 String HelloMvc7(Model model){
8 9 User user=new User(1L,"李四",20,1)">10 model.addAttribute("user"model.addAttribute(user);不建议用这种,会有一个默认的key,是类名的首字母小写,和对象名无关
return "WEB-INF/jsps/HelloWorld3.jsp"13 }
4. 通过内置对象传递参数
如下所示:内置对象HttpServletRequest传递参数并进行跳转
* 通过内置对象往页面传参并跳转,不常用
@throws ServletException
IOException
7 8 @RequestMapping("/Hello8" 9 void HelloMvc8(HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException{
10 11 req.setAttribute("name","刘玲"12 req.setAttribute("age",2213 req.getRequestDispatcher("WEB-INF/jsps/HelloWorld2.jsp").forward(req,resp);
14 }
备注
?曾以为我是那崖畔的一枝花,后来才知道,不过是人海一粒沙。
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!