modelandview使用ModelAndView完成删除操作后返回到主页面怎么返回啊
modelandview 时间:2021-07-19 阅读:(
)
modelandview构造方法和setviewname的区别
ModelAndView
的构造方法有7个。
但是它们都是相通的。
这里使用无参构造函数来举例说明如何构造ModelAndView
实例。
ModelAndView类别就如其名称所示,是代表了MVC Web程序中Model与View的对象,不过它只是方便您一次返回这两个对象的holder,Model与View两者仍是分离的概念。
最简单的ModelAndView是持有View的名称返回,之后View名称被view resolver,也就是实.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并显示。
ModelAndView类别提供实作View接口的对象来作View的参数:
ModelAndView(View view)
ModelAndView(View view, Map model)
ModelAndView(View view, String modelName, Object modelObject)有谁知道ModelAndView怎么用啊?谢谢啦!
ModelAndView
的构造方法有7个。
但是它们都是相通的。
这里使用无参62616964757a686964616fe59b9ee7ad9431333332623865构造函数来举例说明如何构造ModelAndView
实例。
ModelAndView类别就如其名称所示,是代表了MVC Web程序中Model与View的对象,不过它只是方便您一次返回这两个对象的holder,Model与View两者仍是分离的概念。
最简单的ModelAndView是持有View的名称返回,之后View名称被view resolver,也就是实.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并显示。
ModelAndView类别提供实作View接口的对象来作View的参数:
ModelAndView(View view)
ModelAndView(View view, Map model)
ModelAndView(View view, String modelName, Object modelObject)
一个例子.springframework.web.servlet.view.RedirectView,ModelAndView预设是使用forward来转发请求结果至视图,使用RedirectView的话,则会使用redirect将请求重导至视图,例如:
…
public ModelAndView handleRequest(....) … {
....
return new ModelAndView(new RedirectView(this.getViewPage()));
}
....
在这边,viewPage的地址是从服务器网页根目录开始指定,而不是Web应用程序的根目录,所以您的getViewPage()传回的地址必须像是 /springapp/pages/index.htm这样的地址,其中springapp是您的Web应用程序目录。
使用forward的话,网址列上并不会出现被转发的目标地址,而且forward是在Web应用程序之内进行,可以访问Web应用程序的隐藏目录,像是WEB-INF,然而forward只能在Web应用程序中进行,不能指定至其它的Web应用程序地址。
使用redirect的话,是要求客户端浏览器重新发出一个指定的请求地址,因此网址列上会出现被重导的目录地址,重导的请求是由浏览器发出,所以不能访问Web应用程序中的隐藏目录,像是WEB-INF,然而重导是重新要求一个网页,所以可以指定至其它的Web应用程序地址。
DispatcherServlet会根据传回的ModelAndView来解析View名称,并处理给予的Model。
View名称的解析是委托给实.springframework.web.servlet.ViewResolver接口的实例,ViewResolver接口定义如下:
public interface ViewResolver {
public view resolveViewName(String, Locale locale) throws ServletException;
}springmvc-Model和ModelAndView的区别
前言
用过springMvc的小伙伴都知道,一般而言我们返回页面视图的时候会有两种可能,就是本文题目中的两个类。
其实本文就是想要对比一下这两个类在spring的视图解析中的作用以及区别。
区别
就我个人而言,我自己觉得这两者之间是没有什么区别的?实际上,这两者之间有着很大的区别,具体就表现在Model只是用来传输数据的,并不会进行业务的寻址。
但是,ModelAndView却是可以进行业务寻址的,就是设置对应的要请求的静态文件,这里的静态文件指的是类似jsp的文件。
当然,两者还有一个最大的区别,那就是Model是每一次请求都必须会带着的,但是ModelAndView是需要我们自己去新建的。
代码示例
首先是Model传递数据。
@Controller
public class FreemarkerController {
@SuppressWarnings("unchecked")
@RequestMapping(method = RequestMethod.POST, value = "/freemarker")
public String getFtl(Model model) {
// 构造填充数据的Map
Map map = new HashMap();
List<TestVo> testVos = new ArrayList<>();
TestVo testVo = new TestVo();
testVo.setName("fulei");
TestVo testVo1 = new TestVo();
testVo1.setName("wangmeng");
testVos.add(testVo);
testVos.add(testVo1);
map.put("user", "love");
map.put("url", "/");
map.put("name", "百度");
map.put("testVos", testVos);
model.addAllAttributes(map);
return "test";
}
}
其次就是ModelAndView。
@RequestMapping(method = RequestMethod.POST, value = "/freemarker")
public ModelAndView getFtlByModelAndView() {
ModelAndView modelAndView = new ModelAndView();
// 构造填充数据的Map
Map map = new HashMap();
List<TestVo> testVos = new ArrayList<>();
TestVo testVo = new TestVo();
testVo.setName("fulei");
TestVo testVo1 = new TestVo();
testVo1.setName("wangmeng");
testVos.add(testVo);
testVos.add(testVo1);
map.put("user", "love");
map.put("url", "/");
map.put("name", "百度");
map.put("testVos", testVos);
modelAndView.addAllObjects(map);
return modelAndView;
}
从上面我们可以看得出来这两个之间还是有一定的区别的,当然具体的区别也就如我上面所描述的那样了。
总结
这篇博文主要是讨论下这个看似不会有坑的地方的一些小问题,算是对今天做的东西的一个总结吧。
有时间的话,再详细得谈谈在这边遇到的问题。
使用ModelAndView完成删除操作后返回到主页面怎么返回啊
我也遇到这问题了
正在探索,this.本类方法我觉得好像可以,正在试
我已经成功了:
return new ModelAndView(new RedirectView("./concep.do?method=listConcep"), model);
这一就可以了
ZJI本月新上线了香港葵湾机房站群服务器,提供4个C段238个IPv4,支持使用8折优惠码,优惠后最低每月1400元起。ZJI是原Wordpress圈知名主机商家:维翔主机,成立于2011年,2018年9月更名为ZJI,提供中国香港、台湾、日本、美国独立服务器(自营/数据中心直营)租用及VDS、虚拟主机空间、域名注册等业务,所选数据中心均为国内普遍访问速度不错的机房。葵湾二型(4C站群)CPU:I...
数脉科技怎么样?昨天看到数脉科技发布了7月优惠,如果你想购买香港服务器,可以看看他家的产品,性价比还是非常高的。数脉科技对香港自营机房的香港服务器进行超低价促销,可选择10M、30M的优质bgp网络。目前商家有优质BGP、CN2、阿里云线路,国内用户用来做站非常不错,目前E3/16GB阿里云CN2线路的套餐有一个立减400元的优惠,有需要的朋友可以看看。点击进入:数脉科技商家官方网站香港特价阿里云...
A400互联怎么样?A400互联是一家成立于2020年的商家,A400互联是云服务器网(yuntue.com)首次发布的云主机商家。本次A400互联给大家带来的是,全新上线的香港节点,cmi+cn2线路,全场香港产品7折优惠,优惠码0711,A400互联,只为给你提供更快,更稳,更实惠的套餐,香港节点上线cn2+cmi线路云服务器,37.8元/季/1H/1G/10M/300G,云上日子,你我共享。...
modelandview为你推荐
达内学院请问北京达内到底怎么样啊?纠结死我了。托,请绕道垃圾文件清理bat如何一键清理系统垃圾文件.bat?智能机刷机软件安卓手机在电脑上强制刷机用什么软件好?qq空间个性域名Qq空间的个性域名是什么意思。物联卡官网物联卡是正规流量卡吗?北漂论坛请问北票有论坛吗创业好项目论坛现在挣钱太难了、大家有什么好项目vs2005快捷键求eclipse3.3和VS2005的快捷键云图好看吗云图好看么?cf服务器爆满为什么我穿越火线一进服务器就显示 该服务器爆满然后又显示
河北服务器租用 香港主机租用 hawkhost优惠码 博客主机 万网优惠券 论坛空间 骨干网络 52测评网 申请个人网站 nerds 亚马逊香港官网 爱奇艺会员免费试用 空间首页登陆 腾讯总部在哪 web服务器是什么 阿里云免费邮箱 东莞主机托管 全能空间 iki 杭州电信宽带 更多