使用ModelAndView跳转页面失效
小编为了这个问题是花费了大半天的时间,查网上一般都说引错了包还有说不要用ajax跳转的。当然不同问题不同对待,问题也是萝卜青菜的挑挑拣拣嘛。
好了废话少说直击问题
1、引入包
import org.springframework.web.servlet.ModelAndView;
查看是不是引错了?估计不会的,重点看的时候是看servlet的哈别整体一扫就说没错。
2、spring的xml配置文件不要搞错了
<!--内部视图解析器,JSP与JSTL模板 -->
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!--自动添加到路径中的前缀 -->
<property name="prefix" value="/jsp/" />
<!--自动添加到路径中的后缀 -->
<property name="suffix" value=".jsp" />
</bean>
以上是小编用的配置bean,然后因为我的项目是maven的,所以它默认的“/WEB-INF/jsp/”我就直接改为了"/jsp",我的文件目录是以下样子:
3、至于是不是ajax不行,因为ajax有个回调属性,因此我一般不使用ajax访问modelandview,此处小编使用连接访问controller来进行使用modelandview来进行重定向跳转页面的。
4、不要把你的点击事件写到form标签里,因为这样的话你的button还是submit类型的话,那么你是怎么点他modelandview都是不会跳转的。
这次小编吃亏就在第四条上,仅供参考,避免踩坑啊。
ssm之ModelAndView的注意点
ModelAndView简述
使用ModelAndView类用来存储处理完后的结果数据,以及显示该数据的视图。从名字上看ModelAndView中的Model代表模型,View代表视图,这个名字就很好地解释了该类的作用。
业务处理器调用模型层处理完用户请求后,把结果数据存储在该类的model属性中,把要返回的视图信息存储在该类的view属性中,然后让该ModelAndView返回该Spring MVC框架。
框架通过调用配置文件中定义的视图解析器,对该对象进行解析,最后把结果数据显示在指定的页面上
ModelAndView的作用
ModelAndView构造方法可以指定返回的页面名称,也可以通过setViewName()方法跳转到指定的页面
ModelAndView的主要使用
当有数据需要返回页面显示时,这时候就需要将数据封装到ModelAndView中
例如:将查询的全部用户显示在页面中
ModelAndView modelAndView = new ModelAndView();
modelAndView.addObject(“名称”,封装的数据);
modelAndView.setViewName(“返回的页面”);
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。