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);
这一就可以了
昔日数据,国内商家,成立于2020年,主要销售湖北十堰和香港HKBN的云服务器,采用KVM虚拟化技术构架,不限制流量。当前夏季促销活动,全部首月5折促销,活动截止于8月11日。官方网站:https://www.xrapi.cn/5折优惠码:XR2021湖北十堰云服务器托管于湖北十堰市IDC数据中心,母鸡采用e5 2651v2,SSD MLC企业硬盘、 rdid5阵列为数据护航,100G高防,超出防...
青云互联怎么样?青云互联是一家成立于2020年的主机服务商,致力于为用户提供高性价比稳定快速的主机托管服务,目前提供有美国免费主机、香港主机、韩国服务器、香港服务器、美国云服务器,香港安畅cn2弹性云限时首月五折,15元/月起;可选Windows/可自定义配置,让您的网站高速、稳定运行。点击进入:青云互联官方网站地址青云互联优惠码:八折优惠码:ltY8sHMh (续费同价)青云互联香港云服务器活动...
Megalayer 商家在开始看到有提供香港服务器、香港站群服务器的时候有介绍过,后来就一直没有怎么关注。但是前几天有看到网友使用到他们家的美国独立服务器问其如何的,但是我没有使用过就不好评论,这不前几天也有介绍到Megalayer美国独立服务器。以及我们也有看到商家有提供美国站群服务器和美国大带宽服务器产品,可选30M不限制流量CN2优化线路,以及100M不限制流量国际带宽线路。新年元旦后,Me...
modelandview为你推荐
网络小说赚钱网络小说工作室都是怎么赚钱的采集卡万能驱动谁有采集卡7304的万能驱动或者专门的驱动,我的找不到了谷歌德语在线翻译求德语翻译。。。不要谷歌不要德语助手、、、万分感谢哦!!!大蟒蛇平台PY平台是什么?软件开发的周期知道开发一款App的周期是多久吗百度预测世界杯预测2018年世界杯哪两个国家会打入决赛?圣诞节网页制作如何制作圣诞节贺卡印象城市游戏论坛凯撒大帝3怎么建造好一个城市nero教程NERO怎么使用?prepare的用法prepare和prepare for 用法有什么区别啊
中国万网域名注册 韩国vps俄罗斯美女 主机测评网 美国主机评测 t牌 dreamhost vpsio 国外idc 美国php主机 debian源 电子邮件服务器 中国电信测网速 中国电信宽带测速网 网游服务器 吉林铁通 美国凤凰城 云营销系统 dnspod lamp是什么意思 游戏服务器 更多