本章节主要讲解使用springmvc进行controller到view的转向,涉及代码包含JSP视图,
和上一章节最大的配置点不同是:
无任何视图指向的Controller @ResponseBody是关键代码,表示直接返回内容,不转向JSP视图
@Controller public class MappingController { @RequestMapping("/mapping/path") public @ResponseBody String byPath() { return "Mapped by path!"; } }
指向具体视图的Controller,无@ResponseBody,表示会指向某个JSP视图
@Controller @RequestMapping("/views/*") public class ViewsController { @RequestMapping(value="html", method=RequestMethod.GET) public String prepare(Model model) { model.addAttribute("foo", "bar"); model.addAttribute("fruit", "apple"); return "views/html"; }
基于视图转向的四种用法:
1.自己制定转向的视图
// http://127.0.0.1:8010/views/html --->对应 views/html.jsp @RequestMapping(value="html", method=RequestMethod.GET) public String prepare(Model model) { model.addAttribute("foo", "bar"); model.addAttribute("fruit", "apple"); return "views/html"; }
2.spring指向默认的视图,通过org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator实现默认视图的转向,见日志信息:
DEBUG DispatcherServlet Unable to locate RequestToViewNameTranslator with name 'viewNameTranslator': using default [org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator@55a58f]
// http://127.0.0.1:8010/views/viewName --->对应 views/viewName.jsp @RequestMapping(value="/viewName", method=RequestMethod.GET) public void usingRequestToViewNameTranslator(Model model) { model.addAttribute("foo", "bar"); model.addAttribute("fruit", "apple"); }
3.URI的 @PathVariable 的获取,注意参数名称必须一致!如:
// http://127.0.0.1:8010/views/pathVariables/bar/apple --->对应 views/html.jsp @RequestMapping(value="pathVariables/{foo}/{fruit}", method=RequestMethod.GET) public String pathVars(@PathVariable String foo, @PathVariable String fruit) { // No need to add @PathVariables "foo" and "fruit" to the model // They will be merged in the model before rendering return "views/html"; }
4. 利用URL的@PathVariable给JAVABEAN赋值
//http://127.0.0.1:8010/views/dataBinding/bar/apple --->对应 views/dataBinding.jsp
@RequestMapping(value="dataBinding/{foo}/{fruit}", method=RequestMethod.GET)
public String dataBinding(@Valid JavaBean javaBean, Model model) {
// JavaBean "foo" and "fruit" properties populated from URI variables
return "views/dataBinding";
}
public class JavaBean {
@NotNull
private String foo;
@NotNull
private String fruit;
//注意此处有GET SET 方法,篇幅有限,不在文章中赘诉
}
群:J2EE系统架构 203431569 ,进群前请标注开发的软件所属行业及工作经验!!
相关推荐
4. **View**:视图是用户界面,Spring MVC支持多种视图技术,如JSP、FreeMarker、Thymeleaf等。视图解析器会根据ModelAndView中的信息来决定渲染哪个视图。 5. **ViewModel**:模型视图,是Model和View的组合,它...
返回的"hello"视图名会被视图解析器解析,通常情况下,Spring MVC默认使用InternalResourceViewResolver,它会将视图名解析为JSP页面,假设我们的JSP页面位于`WEB-INF/views`目录下,那么对应的JSP文件应为`WEB-INF/...
总结来说,Spring MVC的页面跳转涉及URL映射、控制器处理、视图解析等多个环节。通过理解这些概念,我们可以更好地诊断和解决问题,确保用户点击链接时能顺利跳转到目标页面。在实际项目中,应保持良好的代码组织和...
【JSP源码——jsp+servlet+javaBean实现MVC】是基于Java Web技术构建的一种经典MVC(Model-View-Controller)模式的应用实例。在Web开发中,MVC模式被广泛采用,它将应用程序的业务逻辑、数据处理和用户界面分离,...
此外,Spring MVC还支持各种类型的视图技术,包括JSP、FreeMarker、Thymeleaf等,让你可以根据项目需求选择合适的视图层实现。 总之,"Spring4 In Action-5.2.2-Spring Web应用程序-简单的控制器实现跳转"这一部分...
14. **commons-lang3.jar**: Apache Commons Lang库,提供了很多Java语言工具类,可以在Spring MVC中辅助进行各种操作。 15. **json处理库**:如Jackson或Gson,用于JSON序列化和反序列化,便于前后端数据交换。 ...
- 视图解析器(ViewResolver)的设置,如InternalResourceViewResolver,用于将模型数据和视图名映射到实际的JSP页面。 - Model-View-Controller的实现,包括Controller类的编写、模型数据的绑定以及视图的跳转。 ...
Spring MVC支持多种视图技术,如JSP、FreeMarker、Thymeleaf等。 5. **ModelAndView**:一个容器,既包含模型数据,也包含视图信息。在Controller处理完请求后,会返回一个ModelAndView对象,告诉DispatcherServlet...
Spring MVC是Spring框架的一部分,专为构建Java Web应用程序而设计。它是一个模型-视图-控制器(MVC)架构,提供了强大的数据绑定、验证、国际化等功能,极大地简化了Web开发流程。下面,我们将深入探讨Spring MVC的...
2. **Spring MVC配置**:在Spring的配置文件(如`spring-mvc.xml`)中,会定义HandlerMapping、HandlerAdapter、ViewResolver等组件,它们分别负责处理请求映射、适配控制器方法以及解析视图。 3. **Controller**:...
8. **视图解析**:Spring MVC使用视图解析器(如InternalResourceViewResolver)将模型数据和视图名组合成实际的JSP页面。例如,登录成功后,我们可能会重定向到`success.jsp`,而登录失败则可能跳转到`error.jsp`。...
Struts、Spring MVC和Struts2是Java Web开发中三个重要的MVC框架,它们都用于构建基于模型-视图-控制器(MVC)设计模式的Web应用程序。下面将分别介绍这三个框架的工作原理,并进行对比。 **Struts1原理:** Struts...
总的来说,Spring 3.0 MVC的简单跳转实例展示了如何使用Controller处理请求,通过视图解析器解析返回的视图名,实现页面间的重定向或转发。这个实例对于初学者理解和实践Spring MVC的Web开发非常有帮助。
Spring MVC是Spring框架的一个模块,专为创建Web应用程序提供模型-视图-控制器(MVC)架构支持。这个项目涉及到的功能包括分页显示、单个或批量删除、动态数据修改以及登录和管理员主界面的设计,这些都是在Web开发...
4. **View**:视图负责渲染模型数据,Spring MVC支持多种视图技术,如JSP、FreeMarker、Thymeleaf等。 在实现登录功能时,我们需要以下步骤: 1. **创建用户实体类(User)**:定义一个User类,包含用户名(username...
Struts2接收用户请求,通过配置的Action跳转到对应的业务处理方法,Spring管理业务对象并调用Hibernate进行数据库操作,最后结果通过JSP返回给用户。这样的设计既分离了关注点,又提高了代码的复用性。 项目的具体...
Spring MVC 是一个基于Java的轻量级Web应用框架,它为构建模型-视图-控制器(Model-View-Controller,MVC)结构的Web应用程序提供了强大的支持。在本压缩包中,你将找到一系列全面的Spring MVC实例程序,这些实例有...
这意味着,如果Controller返回的视图名为`showaccount`,那么Spring MVC会尝试加载`/showaccount.jsp`作为实际的JSP页面进行渲染。 除了这些基本配置,Spring MVC还有许多其他特性可以增强我们的应用程序。例如,...
`mvc.xml` 是 Spring MVC 的核心配置文件之一,用于配置 Spring MVC 的各种组件。示例配置包括但不限于: ```xml <!-- 启用注解驱动 --> <mvc:annotation-driven/> <!-- 配置视图解析器 --> <bean class="org....