java modelandview

java modelandview,第1张

java modelandview是什么,让我们一起了解一下?

modelandview是当控制器处理完请求时,会将包含视图名称或视图对象以及一些模型属性的ModelAndView对象返回到DispatcherServlet。因此,经常需要在控制器中构造ModelAndView对象。ModelAndView类提供了几个重载的构造器和一些方便的方法,让你可以根据自己的喜好来构造ModelAndView对象。这些构造器和方法以类似的方式支持视图名称和视图对象。当你只有一个模型属性要返回时,可以在构造器中指定该属性来构造ModelAndView对象。

ModelAndView的使用方法是怎样的?

添加模型数据用addObject,设置视图setViewName。

ModelAndView 对象有两个作用:

1、设置转向地址,这也是ModelAndView和ModelMap的主要区别。设置方式如下所示:

ModelAndView view = new ModelAndView("path:student")

或者通过setViewName方式:

public void setViewName(String viewName){...}

2、将控制器方法中处理的结果数据传递到结果页面,也就是把在结果页面上需要的数据放到ModelAndView对象中即可,其作用类似于request对象的setAttribute方法的作用,用来在一个请求过程中传递处理的数据。通过以下方法向页面传递参数:

public ModelAndView addObject(String attributeName, Object attributeValue){...} public ModelAndView addObject(Object attributeValue){...}

在jsp中:也是可以通过el表达式语言 a t t r i b u t e N a m e 或 者 C 标 签 库 的 attributeName或者C标签库的 attributeName或者C标签库的{name } 来获取并展示ModelAndView中的数据。

实战 *** 作,示例代码如下: package com.itmyhome      import java.util.ArrayList   import java.util.HashMap   import java.util.List   import java.util.Map      import org.springframework.stereotype.Controller   import org.springframework.web.bind.annotation.RequestMapping   import org.springframework.web.servlet.ModelAndView      @Controller   public class Login {          @RequestMapping(value="login")       public ModelAndView login(){           ModelAndView mav = new ModelAndView()           mav.setViewName("welcome") //返回的文件名                      mav.addObject("message","hello kitty")                      //List           List list = new ArrayList()           list.add("java")           list.add("c++")           list.add("oracle")           mav.addObject("bookList", list)                      //Map           Map map = new HashMap()           map.put("zhangsan", "北京")           map.put("lisi", "上海")           map.put("wangwu", "深圳")           mav.addObject("map",map)                      return mav       }   }

使用ajax 时候。这里只需返回数据就可以了。 modelandview 不仅有数据还有视图。。视图这里是不用的。 @RequestMapping("/delete") @ResponseBody public Map delete(String id) { String[] ids = id.split(",")for (int a = 0a <ids.lengt...


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11317941.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存