springmvc返回对象类型

9 篇文章 0 订阅

方法不返回ModelAndView,也不返回String类型对应的逻辑视图名称,而是直接返回一个Pojo对象
如果直接返回Pojo对象,项目又配置了视图解析器规则

如果方法中没有返回ModelAndView对象,此时SpringMVC不知道视图在哪里.
此时需要配置视图解析器org.springframework.web.servlet.view.InternalResourceViewResolver.
物理视图路径为:上下文路径+前缀+请求路径(资源名称)+后缀
必须保证视图解析器路径下面必须有 请求路径对应的页面
@ModelAttribute作用如下:
1、设置请求参数绑定到Model对象中并传到视图页面的key名.
2、将方法返回值或请求参数绑定到Model对象中并传到视图页面


 

 

配置步骤

第一步:设置springmvc.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:context="http://www.springframework.org/schema/context"
	xmlns:mvc="http://www.springframework.org/schema/mvc"
	xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd
		http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
		http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd">
	
	<context:component-scan base-package="cn.zj.springmvc"/>
	
	
	<!-- 设置SpringMVC的注解驱动 -->
	<mvc:annotation-driven/>
	
	
	<!-- 设置SpringMVC静态资源处理 -->
	<mvc:default-servlet-handler/>
	
	
	<!-- 配置视图解析器 -->
	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		
		<!-- 配置前缀 -->
		<property name="prefix" value="/WEB-INF/view/"/>
		
		<!-- 配置后缀 -->
		<property name="suffix" value=".jsp"/>
	</bean>
	

</beans>

第二步:添加controller

	/*
	 * 
	 * SpringMVC 响应支持方法直接返回对象
	 * 
	 * 默认使用的是请求转发跳转
	 * 
	 * 1,跳转地址
	 * 	视图解析器的前缀+类的请求映射名称+方法的请求映射+后缀
	 * 	此场景的为:/WEB-INF/view/response/method6.jsp
	 * 2, 共享数据,把当前返回的数据类型的对象共享过去
	 * 	默认,共享的对象名称就是当前对应数据类型的 首字母小写  User--->user
	 * 	使用 @ModelAttribute注解手动设置共享数据的名称
	 */
	@ModelAttribute("userKey")
	@RequestMapping("method6")
	public User method6() {
		User user = new User();
		user.setUsername("lilei");
		user.setPassword("lileiabc321");
		user.setEmail("lilei@qq.com");
		return user;
	}

第三步:项目图

保证视图解析器和controller组成的url路径下的文件存在。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值