整合Spring+Hibernate+Struts2的時候發現json數據一直無法傳到頁面,提示no-Session
執行了ajax,頁面沒有任何反應
懷疑json沒有值,想查看json中的內容,使用了ObjectMapper:
ObjectMapper om=new ObjectMapper();
System.out.println(om.writeValueAsString(pb));//pb是我要返回的數據
頁面始終無法得到json數據,在JQ代碼中的回調函數alert()也沒反應,在瀏覽器控制臺發現了500錯誤:
點擊出現了一堆異常:
此處省略中間其他類似異常...
提示了懶加載的錯誤,所以我去設置了lazy="false",好像沒啥用,可能是我配置錯了地方
百度了一下如何關閉懶加載:
hibernate中懶加載禁用的方式 - haha_66666的博客 - CSDN博客 https://blog.csdn.net/haha_66666/article/details/78586656
使用了OpenSessionInViewFilter,使得Session延遲關閉.
<!-- 解決no-session問題過濾器 通過filter來讓session在jsp頁面完畢後再關閉session -->
<!-- 註意: 所有Filter的配置都需要放置在struts2入口過濾器配置之前 -->
<filter>
<filter-name>openSessionInView</filter-name>
</filter>
<filter-mapping>
<filter-name>openSessionInView</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
經驗總結:
在MyEclipse中沒有任何錯誤提示的情況下,去瀏覽器控制臺看看
在感覺出問題的地方之前打印控制臺信息,確保程序是否進入本區域.
在沒有任何錯誤的提示的時候,很崩潰了,手動用try...catch將懷疑出問題的地方包圍住!
整合Spring+Hibernate+Struts2的時候發現json數據一直無法傳到頁面,提示no-Session