SpringMVC_处理模型数据之ModelAndView

MVC设计模式是发送请求到目标处理器,处理器去调动方法,业务可能会有返回值(包括对象,集合)转发到页面显示。这就出现问题:如何把模型数据放入域对象。

.   SpringMVC提供了一下几种途径输出模型数据:

——ModelAndView:处理方法返回值类型为ModelAndView时,方法体即可通过该对象添加模型对象。

——Map和Model:入参为org.springframework.ui.Model, org.springframework.ui.ModelMap或java.uti.Map时,处理方法返回时,Map中的数据会自动添加到模型中

——@SessionAttributes:  将模型中的某个属性暂存到HttpSession中,以便多个请求之间共享这个属性。

——@ModelAttribute: 方法入参标注该注解后,入参的对象就会放到数据模型中。

.   控制器处理方法的返回值如果为ModelAndView,则其既包括视图信息,有包含模型数据信息。

.   添加模型数据:

——ModelAndView addObject(String attributeName,Object attribute)

——ModelAndView addAllObject(Map<String,?> modelMap)

.   设置视图

——void  setView(View view)

——void setViewName(String viewName)

实例:

index.jsp

<a href="springmvc/testModelAndView">Test ModelAndView</a>

SpringMVCTest.java

@RequestMapping("/testModelAndView")
	public ModelAndView testModelAndView() {
		String viewName = SUCCESS;
		ModelAndView modelandview = new ModelAndView(viewName);
		
		//添加模型数据到ModelAndView中
		modelandview.addObject("time",new Date());
		
		return modelandview;
	}
	

success.jsp

time: ${requestScope.time }

注意到一点就是web.xml的拦截器配置不能把ModelAndView拦截配置方式:

web.xml

<servlet-mapping>
		<servlet-name>springDispatcherServlet</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>
<url-pattern>/</url-pattern>不能写成<url-pattern>*/<url-pattern>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值