`

SpringMVC(四)

 
阅读更多

通过ModelAndView 访问

@RequestMapping(value="/index")
public ModelAndView index(User user){
	user.setAge("A");
	user.setSex("B");
//	ModelAndView mav = new ModelAndView();
//	mav.setViewName("message"); // 不需要加扩展名
	
	ModelAndView mav = new ModelAndView("message");
	
	mav.addObject(user);
	return mav;

}

 访问数据模型@ModelAttribute

 

 使用方式一

@RequestMapping(value="/index")
public String index(){
	return "message";
}

@ModelAttribute
public void populateModel(@RequestParam String age,@RequestParam String sex,Model model){
	model.addAttribute("str", "modelAttribute ==== > " + age + "   :" + sex);
}

 URL访问index方法时,会在之前掉用populateModel这个方法,执行完成后,再执行index()

 

 

 方式二(返回对象)

@RequestMapping(value="/index")
public String index(){
	return "message";
}

@ModelAttribute
public User populateModel(){
	User user = new User();
	user.setAge("10");
	return user;
}

 model名称无需要指定,它由返回类型隐含表示,如这个方法返回User类型,那么这个model属性的名称是user。

@ModelAttribute(value="myUser")
public User populateModel(){
	User user = new User();
	user.setAge("10");
	return user;
}

 也可指定返回名称,指定后,返回的对象名称是myUser,不指定,则返回User.

 

   使用方式三(合并对象进行返回)

@RequestMapping(value="/index")
public String index(User user){
	user.setSex("男");
	return "message";
}

@ModelAttribute
public User populateModel(){
	User user = new User();
	user.setAge("10");
	return user;
}

  使用方式四(对象合并指定对象名称)

@RequestMapping(value="/index")
public String index(@ModelAttribute("myUser")User user){
	user.setSex("男");
	return "message";
}

@ModelAttribute(value="myUser")
public User populateModel(){
	User user = new User();
	user.setAge("10");
	return user;
}

 public String test(@ModelAttribute("user") UserModel user)

 

此处多了一个注解@ModelAttribute("user"),它的作用是将该绑定的命令对象以“user”为名称添加到模型对象中供视图页面展示使用。我们此时可以在视图页面使用${user.username}来获取绑定的命令对象的属性。

 

@SessionAttributes注解

@Controller
@SessionAttributes("myUser") // 把对象myUser自动保存到session中
public class TController {

	@RequestMapping(value="/index")
	public String index(@ModelAttribute("myUser")User user){
		user.setSex("男");
		return "message";
	}

	@ModelAttribute(value="myUser")
	public User populateModel(){
		User user = new User();
		user.setAge("10");
		return user;
	}
	
	@RequestMapping(value="/out")
	public String out(@ModelAttribute("myUser")User user,SessionStatus sessionStatus){
		user.setSex("男");
		sessionStatus.setComplete(); // 清除本处理器对应的会话属性
		return "message";
	}

}

 

分享到:
评论

相关推荐

    SpringMVC四种映射方式实例代码

    本实例代码着重讲解了SpringMVC中的四种映射方式以及拦截器的实现,这对于理解和掌握SpringMVC的请求处理机制至关重要。 1. **四种映射方式**: - **通配符映射**:`@RequestMapping("/path/*")`,星号(*)代表任意...

    springMVC架构设计

    Spring MVC 是一个基于 Java 的轻量级 Web 开发框架,它是 Spring 框架的一部分,主要用来处理 Web 请求和响应。在本文中,我们将深入探讨 Spring MVC 的核心概念、架构设计以及其实现过程。 首先,Spring MVC 的...

    SpringMVC PPT_springmvc_

    四、Controller Controller 是处理用户请求的类,通常包含多个处理方法。这些方法接收请求参数,处理业务逻辑,并返回 ModelAndView 对象,该对象包含了模型数据和视图信息。 五、ModelAndView ModelAndView 是一个...

    超级详细SpringMVC学习资料

    四、SpringMVC高级特性 1. 数据验证:使用Hibernate Validator或JSR-303进行表单验证。 2. 文件上传下载:使用MultipartFile处理文件上传,OutputStream进行文件下载。 3. 异步处理:使用@Async注解实现异步方法,...

    精通springMVC

    SpringMVC是Spring框架的一部分,专门用于构建Web应用程序。它是一个模型-视图-控制器(MVC)架构的实现,提供了高效、灵活且强大的处理HTTP请求的能力。在深入讲解SpringMVC之前,我们先理解MVC模式:模型负责业务...

    SpringMVC框架架构介绍

    【SpringMVC框架架构介绍】 SpringMVC是一个广泛使用的Java Web开发框架,它遵循Model-View-Controller(MVC)设计模式,简化了构建可维护和高性能的企业级应用程序的复杂性。以下是SpringMVC框架的一些核心概念和...

    springmvc第一天课堂笔记.docx

    #### 四、SpringMVC与MyBatis整合 SpringMVC与MyBatis整合是指将SpringMVC框架与MyBatis ORM框架结合起来使用,实现Web层与持久层的分离。具体实现步骤如下: 1. **配置MyBatis**:在项目的`resources`目录下创建`...

    springMVC学习

    四、SpringMVC 参数传递 SpringMVC 提供了多种参数传递方式,包括 Request、Model、Session 等。这些参数传递方式可以帮助开发者更方便地传递数据。 五、SpringMVC 标签介绍 SpringMVC 提供了多种标签,例如 ...

    springmvc-helloworld

    ### 四、运行与测试 1. **启动服务器**:确保你的 Web 服务器(如 Tomcat)已正确配置并启动。 2. **访问应用**:通过浏览器访问 `http://localhost:8080/hello`,你应该能看到 "Hello, Spring MVC!" 的响应。 ###...

    springmvc学习第一天

    #### 四、SpringMVC与MyBatis整合 在实际开发中,SpringMVC经常与MyBatis等持久层框架一起使用。这种整合可以实现业务逻辑层与数据访问层的分离,提高系统的灵活性和可维护性。 #### 五、SpringMVC注解开发 ...

    springMVC图片上传示例

    四、图片回显 图片回显是指在用户上传图片后,能够在页面上预览已上传的图片。这通常通过将图片数据转换为Base64编码,然后嵌入到HTML的`<img>`标签中实现。在SpringMVC中,可以在服务端将图片数据转换为Base64字符...

    springmvc_mybatis1110

    四、实际项目应用 本学习资源包含了一个完整的项目实例,涵盖了从用户登录注册、数据展示到业务处理等多个功能模块。通过实践这个项目,开发者可以更直观地理解SpringMVC和MyBatis如何协同工作,以及在实际开发中...

    SpringMVC教程及实现原理

    #### 四、SpringMVC的工作原理 - **初始化阶段**:启动服务器时,根据`web.xml`的配置加载前端控制器`DispatcherServlet`。在加载过程中,`DispatcherServlet`会执行一系列初始化操作,如加载配置文件、初始化视图...

    基于springmvc高并发秒杀系统

    开发环境:IDEA,Tomcat,MySQL,Redis 项目构建:Maven 软件环境:SSM(SpringMVC,Spring,MyBatis) 项目描述:一套以秒杀商品为目的而搭建制作的高并发系统。...四、功能模块 秒杀接口暴露(Exposer,封装的

    SpringMVC知识点.doc

    SpringMVC 提供了四个关键组件来简化 MVC 实现: - DispatcherServlet:作为前端控制器,接收所有请求,并根据配置文件进行调度。 - HandlerMapping:处理请求映射,将请求 URL 与对应的 Controller 方法关联。 - ...

    SpringMVC从无到有

    四、解决jar包冲突 在Java项目中,jar包冲突是常见的问题。解决方法包括: - 使用构建工具(如Maven或Gradle)管理依赖,避免手动添加jar包。 - 使用排除依赖(exclusions)来排除冲突的jar包。 - 使用依赖管理...

    maven 整合spring springmvc ibatis

    本主题将深入探讨如何利用Maven、Spring、SpringMVC和iBatis这四大核心组件,搭建一个完整的Java Web应用。 首先,Maven是Apache基金会的一个项目管理工具,它通过一个统一的配置文件(pom.xml)来管理项目的依赖...

    SpringMVC第四版

    《SpringMVC第四版》是一本深度探讨Spring MVC框架的权威指南,专为希望深入了解和精通该技术的开发者设计。Spring MVC是Spring框架的核心部分,它提供了一个模型-视图-控制器(MVC)架构,使得Java Web开发更加高效...

Global site tag (gtag.js) - Google Analytics