在ssm中使用ModelAndView跳轉(zhuǎn)頁面失效的解決
使用ModelAndView跳轉(zhuǎn)頁面失效
小編為了這個問題是花費(fèi)了大半天的時間,查網(wǎng)上一般都說引錯了包還有說不要用ajax跳轉(zhuǎn)的。當(dāng)然不同問題不同對待,問題也是蘿卜青菜的挑挑揀揀嘛。
好了廢話少說直擊問題
1、引入包
import org.springframework.web.servlet.ModelAndView;
查看是不是引錯了?估計不會的,重點看的時候是看servlet的哈別整體一掃就說沒錯。
2、spring的xml配置文件不要搞錯了
<!--內(nèi)部視圖解析器,JSP與JSTL模板 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!--自動添加到路徑中的前綴 --> <property name="prefix" value="/jsp/" /> <!--自動添加到路徑中的后綴 --> <property name="suffix" value=".jsp" /> </bean>
以上是小編用的配置bean,然后因為我的項目是maven的,所以它默認(rèn)的“/WEB-INF/jsp/”我就直接改為了"/jsp",我的文件目錄是以下樣子:
3、至于是不是ajax不行,因為ajax有個回調(diào)屬性,因此我一般不使用ajax訪問modelandview,此處小編使用連接訪問controller來進(jìn)行使用modelandview來進(jìn)行重定向跳轉(zhuǎn)頁面的。
4、不要把你的點擊事件寫到form標(biāo)簽里,因為這樣的話你的button還是submit類型的話,那么你是怎么點他modelandview都是不會跳轉(zhuǎn)的。
這次小編吃虧就在第四條上,僅供參考,避免踩坑啊。
ssm之ModelAndView的注意點
ModelAndView簡述
使用ModelAndView類用來存儲處理完后的結(jié)果數(shù)據(jù),以及顯示該數(shù)據(jù)的視圖。從名字上看ModelAndView中的Model代表模型,View代表視圖,這個名字就很好地解釋了該類的作用。
業(yè)務(wù)處理器調(diào)用模型層處理完用戶請求后,把結(jié)果數(shù)據(jù)存儲在該類的model屬性中,把要返回的視圖信息存儲在該類的view屬性中,然后讓該ModelAndView返回該Spring MVC框架。
框架通過調(diào)用配置文件中定義的視圖解析器,對該對象進(jìn)行解析,最后把結(jié)果數(shù)據(jù)顯示在指定的頁面上
ModelAndView的作用
ModelAndView構(gòu)造方法可以指定返回的頁面名稱,也可以通過setViewName()方法跳轉(zhuǎn)到指定的頁面
ModelAndView的主要使用
當(dāng)有數(shù)據(jù)需要返回頁面顯示時,這時候就需要將數(shù)據(jù)封裝到ModelAndView中
例如:將查詢的全部用戶顯示在頁面中
ModelAndView modelAndView = new ModelAndView(); modelAndView.addObject(“名稱”,封裝的數(shù)據(jù)); modelAndView.setViewName(“返回的頁面”);
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解Java的Hibernate框架中的Interceptor和Collection
這篇文章主要介紹了Java的Hibernate框架中的Interceptor和Collection,Hibernate是Java的SSH三大web開發(fā)框架之一,需要的朋友可以參考下2016-01-01SpringData如何通過@Query注解支持JPA語句和原生SQL語句
這篇文章主要介紹了SpringData如何通過@Query注解支持JPA語句和原生SQL語句,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11