在struts.xml中配置json返回型別
1.JSON外掛提供了一種名為json的ResultType,一旦為某個Action指定了一個型別為json的Result,則該Result無需對映到任何檢視資源。因為JSON外掛會負責將Action裡的狀態資訊序列化成JSON格式的資料,並將該資料返回給客戶端頁面的JavaScript.
簡單地說,JSON外掛允許我們在JavaScript中非同步呼叫Action,而且Action不再需要使用檢視資源來顯示該Action裡的狀態資訊,而是由JSON外掛負責將Action裡的狀態資訊返回給呼叫頁面——通過這種方式,就可以完成Ajax互動。
Struts2提供了一種可插拔方式來管理外掛,安裝Struts2的JSON外掛與安裝普通外掛並沒有太大的區別,一樣只需要將Struts2外掛的JAR檔案複製到Web應用的WEB-INF/lib路徑下即可。
2.package要繼承json-default,因為json-default繼承了struts-default,因為在json的jar包裡有個struts2-json-plugin-2.3.24.1.jar,開啟即可看到裡面有個struts-plugin.xml,開啟即可看到json-default是繼承了struts-default:
原文:https://blog.csdn.net/eson_15/article/details/51332758
3.JSON註釋還支援如下幾個域:
serialize:設定是否序列化該屬性
deserialize:設定是否反序列化該屬性。
format:設定用於格式化輸出、解析日期表單域的格式。例如"yyyy-MM-dd‘T‘HH:mm:ss".
4.Struts2中json的使用總結
https://blog.csdn.net/z69183787/article/details/49867623?utm_source=blogxgwz0
root引數:從返回結果中根據ognl表示式取出你需要輸出的結果
部分使用示例
struts.xml
"/" >
|
|
|
5配置中遇到的問題
一、Could not find action or result There is no Action mapped for namespace / and action name . - [unknown location]
經過再三查詢,最後確定是因為缺少一個包struts2-json-plugin-2.2.3.jar.
下載到這個包,此錯誤訊息。
接下來遇到錯誤
二、java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils
網上搜一下,缺少的是common-lang包。找一個加入進去,搞定不報錯了,開心呀。
三、但是一看頁面上顯示的是null,這不對。所以在網上又是繼續搜尋,最後發現沒有加getter方法,最後加了一個dataMap的get方法可以了。
struts的result方法,需要有getter/setter方法才能獲取到值。
6.SSH網上商城專案實戰