spingmvcmodelandview,model,control以及参数传递

上传人:第*** 文档编号:32697455 上传时间:2018-02-12 格式:DOC 页数:12 大小:121KB
返回 下载 相关 举报
spingmvcmodelandview,model,control以及参数传递_第1页
第1页 / 共12页
spingmvcmodelandview,model,control以及参数传递_第2页
第2页 / 共12页
spingmvcmodelandview,model,control以及参数传递_第3页
第3页 / 共12页
spingmvcmodelandview,model,control以及参数传递_第4页
第4页 / 共12页
spingmvcmodelandview,model,control以及参数传递_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《spingmvcmodelandview,model,control以及参数传递》由会员分享,可在线阅读,更多相关《spingmvcmodelandview,model,control以及参数传递(12页珍藏版)》请在金锄头文库上搜索。

1、1.web.xml 配置:123456789101112131415dispatcherorg.springframework.web.servlet.DispatcherServlet加载/WEB-INF/spring-mvc/目录下的所有 XML作为 Spring MVC的配置文件contextConfigLocation/WEB-INF/spring-mvc/*.xml1dispatcher*.htm这样,所有的.htm 的请求,都会被 DispatcherServlet 处理;初始化 DispatcherServlet 时,该框架在 web 应用程序 WEB-INF 目录中寻找一个名为

2、servlet-名称-servlet.xml 的文件,并在那里定义相关的 Beans,重写在全局中定义的任何 Beans,像上面的 web.xml 中的代码,对应的是dispatcher-servlet.xml;当然也可以使用元素,手动指定配置文件的路径;dispatcher-servlet.xml 配置:1 2 21 24 25 26 30 2.spring mvc处理方法支持如下的返回方式:ModelAndView, Model, ModelMap, Map,View, String, voidModelAndView1. 2. RequestMapping(/show1) 3. publ

3、ic ModelAndView show1(HttpServletRequest request, 4. HttpServletResponse response) throws Exception 5. ModelAndView mav = new ModelAndView(/demo2/show); 6. mav.addObject(account, account -1); 7. return mav; 8. 通过 ModelAndView构造方法可以指定返回的页面名称,也可以通过setViewName()方法跳转到指定的页面 , 使用 addObject()设置需要返回的值,addOb

4、ject()有几个不同参数的方法,可以默认和指定返回对象的名字。 调用addObject()方法将值设置到一个名为 ModelMap的类属性,ModelMap 是LinkedHashMap的子类, 具体请看类。Model 是一个接口, 其实现类为 ExtendedModelMap,继承了 ModelMap类。model.addAttribute(pojo, pojo);Map 1. RequestMapping(/demo2/show) 2. public Map getMap() 3. Map map = new HashMap(); 4. map.put(key1, value-1); 5

5、. map.put(key2, value-2); 6. return map; 7. 在 jsp页面中可直通过$key1获得到值, map.put()相当于request.setAttribute方法。 写例子时发现,key 值包括 - . 时会有问题.View 可以返回 pdf excel等,暂时没详细了解。String 指定返回的视图页面名称,结合设置的返回地址路径加上页面名称后缀即可访问到。注意:如果方法声明了注解ResponseBody ,则会直接将返回值输出到页面。 例如:1. RequestMapping(value = /something, method = RequestM

6、ethod.GET) 2. ResponseBody 3. public String helloWorld() 4. returnHello World; 5. 上面的结果会将文本Hello World 直接写到 http响应流。1. RequestMapping(/welcome) 2. public String welcomeHandler() 3. returncenter; 4. 对应的逻辑视图名为“center”,URL= prefix 前缀+视图名称 +suffix 后缀组成。void 如果返回值为空,则响应的视图页面对应为访问地址1. RequestMapping(/welc

7、ome) 2. publicvoid welcomeHandler() 此例对应的逻辑视图名为welcome。小结:1.使用 String 作为请求处理方法的返回值类型是比较通用的方法,这样返回的逻辑视图名不会和请求 URL 绑定,具有很大的灵活性,而模型数据又可以通过 ModelMap 控制。 2.使用 void,map,Model 时,返回对应的逻辑视图名称真实 url为:prefix 前缀+视图名称 +suffix 后缀组成。 3.使用String,ModelAndView返回视图名称可以不受请求的 url绑定,ModelAndView可以设置返回的视图名称。Model model,Ht

8、tpServletRequest request, ModelMap map声明变量request.getSession().setAttribute(test, haiwei2Session); request.setAttribute(test, haiwei1request); map.addAttribute(test, haiweiModelMap); model.addAttribute(test, haiweiModel);我通过$test这个方式取值,优先取 Model和 ModelMap的,Model 和ModelMap是同一个东西,谁最后赋值的就取谁的,然后是 reques

9、t,最后是从session中获取第一个 Controller:1. package com.minx.crm.web.controller; 2. 3. import org.springframework.stereotype.Controller; 4. import org.springframework.web.bind.annotation.RequestMapping; 5. Controller 6. public class IndexController 7. RequestMapping(/index) 8. public String index() 9. return

10、index; 10. 11. package com.minx.crm.web.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;Controllerpublic class IndexController RequestMapping(/index)public String index() return index;Controller 注解标识一个控制器,RequestMapping 注解标记一个

11、访问的路径(/index.htm ),return index标记返回视图(index.jsp);注:如果RequestMapping 注解在类级别上,则表示一相对路径,在方法级别上,则标记访问的路径;从RequestMapping 注解标记的访问路径中获取参数:Spring MVC 支持 RESTful 风格的 URL 参数,如:1. Controller 2. public class IndexController 3. 4. RequestMapping(/index/username) 5. public String index(PathVariable(username) Str

12、ing username) 6. System.out.print(username); 7. return index; 8. 9. Controllerpublic class IndexController RequestMapping(/index/username)public String index(PathVariable(username) String username) System.out.print(username);return index;在RequestMapping 中定义访问页面的 URL 模版,使用 传入页面参数,使用PathVariable 获取传入参

13、数,即可通过地址:http:/localhost:8080/crm/index/tanqimin.htm 访问;根据不同的 Web请求方法,映射到不同的处理方法:使用登陆页面作示例,定义两个方法分辨对使用 GET 请求和使用 POST 请求访问 login.htm 时的响应。可以使用处理 GET请求的方法显示视图,使用 POST请求的方法处理业务逻辑;1. Controller 2. public class LoginController 3. RequestMapping(value = /login, method = RequestMethod.GET) 4. public Strin

14、g login() 5. return login; 6. 7. RequestMapping(value = /login, method = RequestMethod.POST) 8. public String login2(HttpServletRequest request) 9. String username = request.getParameter(username).trim(); 10. System.out.println(username); 11. return login2; 12. 13. Controllerpublic class LoginContro

15、ller RequestMapping(value = /login, method = RequestMethod.GET)public String login() return login;RequestMapping(value = /login, method = RequestMethod.POST)public String login2(HttpServletRequest request) String username = request.getParameter(username).trim();System.out.println(username);return login2;在视图页面,通过地址栏访问 login.htm,是通过 GET 请求访

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 职业教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号