本文目录
- JAVA 如何获取modelandview的返回值,如果把一个对象放在map集合里(假如集合名字是
- modelandview 和ViewResolver区别
- JAVA 如何获取modelandview的返回值
- ModelAndView这个类在spring框架中的哪个jar包中
- Spring MVC3中的 @ModelAndView和@ModelAttribute的区别,请高手解答,谢谢了
- springMVC Model ModelMap 和 ModelAndView的区别
- springmvc-Model和ModelAndView的区别
- ModelMap,ModelAndView和@Modelattribute的区别
- Java中ModelAndView是做什么的
- 如何使用modelandview进行重定向
JAVA 如何获取modelandview的返回值,如果把一个对象放在map集合里(假如集合名字是
1、使用ModelAndView作为返回值,首先在方法头中进行声明:
public ModelAndView getNameById(HttpServletRequest request,HttpServletResponse response) throws Exception{}
2、然后在方法体中实例化ModelAndView。
ModelAndView mv=this.getAutoView().addObject(“object“,object);
3、最后在方法中的末尾加上return mv;
那么mv中的值是什么呢?
ModelAndView: reference to view with name ’/officeoa/test/bjqGetNameById.jsp’; model is {bjq=com.hotent.officeoa.model.test.Bjq@1d001c5c[id=10000007960011,name=课本,password=12ab,department=测试3,departmentID=,leader=22222,leaderID=]}
解析:mv中有一个view值和一个model值。view是我们条转到的页面的地址,model则是页面中会用到的数据。
4、最后附上一个完整的方法及后台输出的值。
modelandview 和ViewResolver区别
modelandview顾名思义,模型和试图,你可以定义view(视图资源)的名字,和model(数据模型),数据可以再视图中展示,ViewResolver顾名思义:视图解析器,它可以根据.xml里面配置的视图资源的路径前缀和文件格式后缀找到你所想要的具体视图文件,比如html,jsp等等。
JAVA 如何获取modelandview的返回值
1、使用ModelAndView作为返回值,首先在方法头中进行声明:
public ModelAndView getNameById(HttpServletRequest request,HttpServletResponse response) throws Exception{}
2、然后在方法体中实例化ModelAndView。
ModelAndView mv=this.getAutoView().addObject(“object“,object);
3、最后在方法中的末尾加上return mv;
那么mv中的值是什么呢?
ModelAndView: reference to view with name ’/officeoa/test/bjqGetNameById.jsp’; model is {bjq=com.hotent.officeoa.model.test.Bjq@1d001c5c[id=10000007960011,name=课本,password=12ab,department=测试3,departmentID=,leader=22222,leaderID=]}
解析:mv中有一个view值和一个model值。view是我们条转到的页面的地址,model则是页面中会用到的数据。
4、最后附上一个完整的方法及后台输出的值。
ModelAndView这个类在spring框架中的哪个jar包中
ModelAndView.java这个类在spring-webmvc-4.x.jar这个jar包中。
Spring——jar包详解
1、org.springframework.aop ——Spring的面向切面编程,提供AOP(面向切面编程)的实现;
2、org.springframework.asm——spring 2.5.6的时候需要asm jar包,spring3.0开始提供它自己独立的asm jar包;
3、org.springframework.aspects——Spring提供的对AspectJ框架的整合;
4、org.springframework.beans——所有应用都用到,包含访问配置文件,创建和管理bean等,是Spring IOC的基础实现;
5、org.springframework.context.support——Spring context的扩展支持,用于MVC方面。
6、org.springframework.context——提供在基础IOC功能上的扩展服务,此外还提供许多企业级服务的支持,有邮件服务、任务调度、JNDI定位,EJB集成、远程访问、缓存以及多种视图层框架的支持;
7、org.springframework.core——Spring的核心工具包,其他包依赖此包;
8、org.springframework.expression——Spring表达式语言;
9、org.springframework.instrument.tomcat——Spring对tomcat连接池的集成;
10、org.springframework.instrument——Spring对服务器的代理接口;
11、org.springframework.jdbc——对JDBC 的简单封装;
12、org.springframework.jms——为简化jms api的使用而做的简单封装;
13、org.springframework.orm——整合第三方的orm实现,如hibernate,ibatis,jdo以及spring 的jpa实现;
14、org.springframework.oxm——Spring对于object/xml映射的支持,可以让JAVA与XML之间来回切换;
15、org.springframework.test——对JUNIT等测试框架的简单封装;
16、org.springframework.transaction——为JDBC,HIBERNATE,JDO和JPA提供的一致性的声明式和简单编程式事务管理;
17、org.springframework.web.portlet——Spring MVC的增强;
18、org.springframework.web.servlet——对J2EE6.0 servlet3.0的支持;
19、org.springframework.web.struts——整合struts框架的支持,可以更方便更容易的集成Struts框架;
20、org.springframework.web——包含Web应用开发时,用到Spring框架时所需的核心类,包括自动载入WebApplicationContext特性的类、Struts与JSF集成类、文件上传的支持类、Filter类和大量工具辅助类。
Spring MVC3中的 @ModelAndView和@ModelAttribute的区别,请高手解答,谢谢了
你好!SpringMVC3 中没有@ModelAndView这个注解,只有@ModelAttribute注解。ModelAndView是SpringMVC中的一个重要概念。代表了Spring Web MVC中呈现页面时所使用Model与View,由于Java代码中一次只能返回一个参数,所以ModelAndView的作用封装这两个对象,以方便您一次返回Model与View这两个对象。ModelAndView的addObject会向其Model中加入属性。@ModelAttribute是SpringMVC的一个注解,具体作用如下:①绑定请求参数到命令对象:放在功能处理方法的入参上时,用于将多个请求参数绑定到一个命令对象,从而简化绑定流程,而且自动暴露为模型数据用于视图页面展示时使用;②暴露表单引用对象为模型数据:放在处理器的一般方法(非功能处理方法)上时,是为表单准备要展示的表单引用对象,如注册时需要选择的所在城市等,而且在执行功能处理方法(@RequestMapping注解的方法)之前,自动添加到模型对象中,用于视图页面展示时使用;③暴露@RequestMapping方法返回值为模型数据:放在功能处理方法的返回值上时,是暴露功能处理方法的返回值为模型数据,用于视图页面展示时使用。
springMVC Model ModelMap 和 ModelAndView的区别
简单来说:
ModelMap :实现了Map接口,包含Map方法。视图层通过request找到ModelMap中的数据。
ModelAndView:是包含ModelMap 和视图对象的容器。正如名字暗示的一样既包含模型也包含视图,而ModelMap只是包含模型的信息。
ModelAndView的例子,台后
public class CarListController implements Controller { public ModelAndView handleRequest(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception { CarManager carManager = new CarManager(); ModelAndView modelAndView = new ModelAndView(“carList“); modelAndView.addObject(“carList“, carManager.getCarList()); return modelAndView; } }
ModelAndView的例子,前台view
《%@ taglib prefix=“c“ uri=“http://java.sun.com/jsp/jstl/core“ %》 《html》 《body》 《h1》Car List《/h1》 《c:forEach items=“${carList}“ var=“car“》 ${car.brand.name} ${car.model}: ${car.price} 《br /》 《/c:forEach》 《/body》 《html》
ModelMap的例子:
public String testMethod(String someparam,ModelMap model) { //省略方法处理逻辑若干 //将数据放置到ModelMap对象model中,第二个参数可以是任何java类型 model.addAttribute(“key“,someparam); ...... //返回跳转地址 return “test/test“; }
或者直接使用接口:
public String toProvinceView(Model model, HttpSession session) { model.addAttribute(“colModel“, colModel); model.addAttribute(“colNames“, colNames); model.addAttribute(“buttonName“, buttonName); return “statistic/StatisticChart“; }
springmvc-Model和ModelAndView的区别
问题很简单,只要用过就很很明白了,没用过的话,只能简述一下。1、ssh中的spring充当的是MVC中的Model的职能,他也可以集成hibernate等,但它不提供hibernate的功能,仅为集成。2、Spring MVC是MVC架构的整体实现,包括了MVC三项框架,有了它你就不需要再去集成struts和hibernate了,都是由它自己提供。不知清楚否。
ModelMap,ModelAndView和@Modelattribute的区别
首先介绍ModelMap和ModelAndView的作用
ModelMap
ModelMap对象主要用于传递控制方法处理数据到结果页面,也就是说我们把结果页面上需要的数据放到ModelMap对象中即可,他的作用类似于request对象的setAttribute方法的作用,用来在一个请求过程中传递处理的数据。
modelmap本身不能设置页面跳转的url地址别名或者物理跳转地址,那么我们可以通过控制器方法的返回值来设置跳转url地址别名或者物理跳转地址。
ModelAndView
ModelAndView对象有两个作用:
作用一 设置转向地址(这也是ModelAndView和ModelMap的主要区别)
作用二 用于传递控制方法处理结果数据到结果页面,也就是说我们把需要在结果页面上需要的数据放到ModelAndView对象中即可,他的作用类似于request对象的setAttribute方法的作用,用来在一个请求过程中传递处理的数据。
接下来介绍使用方法 :
ModelMap
ModelMap的实例是由bboss mvc框架自动创建并作为控制器方法参数传入,用户无需自己创建。
ModelAndView
ModelAndView的实例是由用户手动创建的,这也是和ModelMap的一个区别。
@ModelAttribute
@ModelAttribute 注解的返回值会覆盖@RequestMapping 注解方法中的@ModelAttribute 注解的同名命令对象
Java中ModelAndView是做什么的
ModelAndView以org.springframework.ui.ModelMap的形式来保持模型数据,通过构造方法传入的或者通过实例方法添加的模型数据都将添加到这个ModelMap中。至于ModelMap中保持的模型数据将会在视图渲染阶段,由具体的View实现类来获取并使用。
我们需要为添加到ModelAndView的一组或者多组模型数据提供相应的键(Key),以便具体的View实现类可以根据这些键获取具体的模型数据,然后公开给视图模板。通常,模型中的数据对应的键需要与视图模板中的标志符相对应,如图所示:
基于JSP/JSTL模板的视图实现,通常是将模型数据通过HttpServletRequest的属性(Attribute)的形式公开给具体的模板。而像基于Velocity之类的通用模板引擎的视图实现,则会将ModelAndView中的模型数据复制到它们自己的数据获取上下文中,比如Velocity的Context。
但不管什么视图类型,对应的视图模板都将可以通过添加到ModelAndView的模型数据的键来获取模型数据,并合并到最终的视图输出结果中。
拓展资料:
ModelAndView 的构造方法有7个。但是它们都是相通的。这里使用无参构造函数来举例说明如何构造ModelAndView 实例。
ModelAndView 类别就如其名称所示,是代表了MVC Web程序中Model与View的对象,不过它只是方便您一次返回这两个对象的holder,Model与View两者仍是分离的概念。
最简单的ModelAndView是持有View的名称返回,之后View名称被view resolver,也就是实作org.springframework.web.servlet.View接口的实例解析,例如 InternalResourceView或JstlView等等。
ModelAndView(String viewName) 如果您要返回Model对象,则可以使用Map来收集这些Model对象,然后设定给ModelAndView,使用下面这个版本的 ModelAndView: ModelAndView(String viewName, Map model) Map对象中设定好key与value值。
之后可以在视图中取出,如果您只是要返回一个Model对象,则可以使用下面这个 ModelAndView版本: ModelAndView(String viewName, String modelName, Object modelObject) 藉由modelName,您可以在视图中取出Model并显示。
web.servlet.View的实例,View接口如下: public interface View { public void render(Map model, HttpServletResquest resquest, HttpServletResponse response) throws ServletException, IOException; }
View的实作之前用过 org.springframework.web.servlet.view.InternalResourceView,另外也还有JstlView、 TilesView、VelocityView等等的实作,分别进行不同的表现展处理 。
ModelAndView() 这个构造方法构造出来的ModelAndView 不能直接使用,应为它没有指定view,也没有绑定对应的model对象。当然,model对象不是必须的,但是view确实必须的。 用这个构造方法构造的实例主要用来在以后往其中加view设置和model对象。
给ModelAndView 实例设置view的方法有两 个:setViewName(String viewName) 和 setView(View view)。前者是使用view name,后者是使用预先构造好的View对象。
其中前者比较常用。事实上View是一个接口,而不是一个可以构造的具体类,我们只能通过其他途径来获取 View的实例。对于view name,它既可以是jsp的名字,也可以是tiles定义的名字,取决于使用的ViewNameResolver如何理解这个view name。
如何获取View的实例以后再研究。 而对应如何给ModelAndView 实例设置model则比较复杂。有三个方法可以使用: addObject(Object modelObject) addObject(String modelName, Object modelObject) addAllObjects(Map modelMap) ModelAndView 可以接收Object类型的对象,ModelAndView 将它视为其众多model中的一个。
当使用Object类型的对象的时候,必须指定一个名字。ModelAndView 也可以接收没有明显名字的对象,原因在于ModelAndView 将调用spring自己定义的Conventions 类的.getVariableName()方法来为这个model生成一个名字。
如何使用modelandview进行重定向
如何使用modelandview进行重定向ASP的编程语言是VBScript之类的脚本语言,JSP使用的是Java,这是两者最明显的区别。 此外,ASP与JSP还有一个更为本质的区别:两种语言引擎用完全不同的方式处理页面中嵌入的程序代码。在ASP下,VBScript代码被ASP引擎解释执行;在JSP下,代码被编译成Servlet并由Java虚拟机执行,这种编译操作仅在对JSP页面的第一次请求时发生。