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);
这一就可以了
tmhhost为2021年暑假开启了全场大促销,全部都是高端线路的VPS,速度快有保障。美国洛杉矶CN2 GIA+200G高防、洛杉矶三网CN2 GIA、洛杉矶CERA机房CN2 GIA,日本软银(100M带宽)、香港BGP直连200M带宽、香港三网CN2 GIA、韩国双向CN2。本次活动结束于8月31日。官方网站:https://www.tmhhost.com8折优惠码:TMH-SUMMER日本...
BuyVM针对中国客户推出了China Special - STREAM RYZEN VPS主机,带Streaming Optimized IP,帮你解锁多平台流媒体,适用于对于海外流媒体有需求的客户,主机开设在拉斯维加斯机房,AMD Ryzen+NVMe磁盘,支持Linux或者Windows操作系统,IPv4+IPv6,1Gbps不限流量,最低月付5加元起,比美元更低一些,现在汇率1加元=0.7...
欧路云新上了美国洛杉矶cera机房的云服务器,具备弹性云特征(可自定义需要的资源配置:E5-2660 V3、内存、硬盘、流量、带宽),直连网络(联通CUVIP线路),KVM虚拟,自带一个IP,支持购买多个IP,10G的DDoS防御。付款方式:PayPal、支付宝、微信、数字货币(BTC USDT LTC ETH)测试IP:23.224.49.126云服务器 全场8折 优惠码:zhujiceping...
modelandview为你推荐
office软件包office2007在哪能下载完整的软件包大蟒蛇平台PY平台是什么?nasa中文官网NASA总部在哪里?限制局域网网速怎么在同一个局域网限制别人的网速呼叫中心搭建呼叫中心怎么建设腾讯汽车论坛如何推广一个小城市的汽车论坛腾讯汽车论坛买车需要注意些神马?云图好看吗电影《云图》到底讲的什么,没看懂,高手来说一下。慕课网址如何加入慕课学习课程?handoff怎么用Mac的Hand Off怎么连接iPhone?
安徽虚拟主机 美国服务器租用 域名查询软件 香港vps 香港vps主机 抗投诉vps主机 花生壳免费域名申请 免费动态域名解析 荷兰服务器 kvmla omnis http500内部服务器错误 创宇云 服务器cpu性能排行 网站被封 国内php空间 150邮箱 qq数据库下载 台湾谷歌地址 e蜗 更多