导航:首页 > 编程语言 > java中model

java中model

发布时间:2022-06-04 06:29:44

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生成一个名字。

Ⅱ JAVA SpringMVC里的model和java里的session有什么区别

其实model和session都是存放信息的地方,不同的地方就是他们的生命周期不同,model是request级别的 ,如果有什么不懂的可以看源码

Ⅲ java中知道model层,怎么根据model层 写service层、impl层、mapper层

model 是实体类,里面的方法就是数据库的一些字段!!!如果没有model 我们获取数据参数就得需要List<String,Object>方式来获取,
有了model 我们直接写这个类名就可以了 List<类名>

Ⅳ Java中model类toString方法重写问题

因为所有类继承自Object, 所以所有对象都有toString方法,默认的toString是打印对象的地址
想改变它的行为就要自己重写这个方法覆盖父类方法,ToStringBuilder在包 common-lang 中,配合ToStringStyle类可以对输出的内容进行格式化,DEFAULT_STYLE
是它的几种模式之一 还有MULTI_LINE_STYLE等。

Ⅳ java的MVC,其中Model模型是什么

是指实体类,和数据库中的表一一对应

Ⅵ java中的Model1和Model2有什么区别

Model1:
Model1的中心是JSP页面,JSP页面中结合业务逻辑、服务端处理过程和HTML等,这样就在JSP页面中同时实现了业务逻辑和流程控制。从而快速开发。
Model1的优缺点:
优点:简单,快速开发,适用小规模开发;
缺点:业务逻辑和表示逻辑混合在JSP页面中没有进行抽象和分离,JSP负载太大。所以非常不利于应用系统业务的重用和改动,不便于维护。
Model2:
Model
2表示的是基于MVC模式的框架。MVC
“Model”代表的是应用的业务逻辑(通过JavaBean,EJB组件实现),“View”是应用的表示面(由JSP页面产生),
“Controller
”是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。从而弥补了Model1的不足。
Model2其实是在Model1基础上又抽了一层控制层。
Model2优缺点:
优点:具有组件化的优点从而更易于实现对大规模系统的开发和管理。职责划分清晰。
缺点:不适合小项目开发。

Ⅶ java中数据model复制问题还请大家来解决一下

方案一:为什么要用两个model,看你的例子, 这完全可以用一个model搞定啊
方案二:如果不想用一个model, 延续上面的思想, 用继承, 写一个父类,把你们公共的属性列出来,子类继承,这样就不用再赋值一次了(还可以实现Cloneable接口)
方案三:比较繁琐,就是利用java反射机制 , 可以读到每个类的方法,字段名,字段属性,那么你就可以用一个循环搞定赋值

Ⅷ 在java中modeL起到什么作用

一般情况下,一个MODEL对应一张数据表

阅读全文

与java中model相关的资料

热点内容
服务器的应用镜像是什么 浏览:149
命令行的使用方法 浏览:509
怎么让图片左右压缩 浏览:651
白鹿原pdf 浏览:429
人民币怎么算法 浏览:754
什么app可以听懂刺猬说话 浏览:596
安卓机内存小如何扩大 浏览:125
粉丝服务器怎么和安卓手机通信 浏览:398
初中数学竞赛pdf 浏览:568
linux自定义安装 浏览:188
fpic要在每个编译文件 浏览:866
编译原理广义推导的定义 浏览:911
怎么在已有的压缩文件里加密码 浏览:517
安卓手机怎么设置系统软件 浏览:766
php前端java后端 浏览:794
数据框转换为矩阵python 浏览:74
单片机程序反汇编 浏览:853
编程和实物不一样 浏览:880
天官赐福小说什么app可看 浏览:208
原车空调改压缩机 浏览:103