首頁 > Java > java教程 > 如何使用 Struts2 JSON 外掛程式僅序列化特定物件?

如何使用 Struts2 JSON 外掛程式僅序列化特定物件?

Patricia Arquette
發布: 2024-12-29 09:25:10
原創
243 人瀏覽過

How to Serialize Only a Specific Object with Struts2 JSON Plugin?

Struts2 JSON 外掛程式和根物件

Struts2 JSON 外掛程式通常將整個操作序列化為 JSON。但是,如果您只需要序列化特定對象,則可以使用 struts.xml 配置中的「root」屬性指定根對象。

在提供的範例中,發生錯誤是因為 JSON 外掛程式是嘗試序列化整個 Part 操作,其中包含 SearchResult 物件的清單。但是,jQuery 成功處理程序需要具有特定鍵的 JSON 對象,例如 col1 和 col2。

使用根物件的解決方案

要解決此問題,您可以將行列表指定為struts.xml 檔案中的根物件:

<result type="json">
    <param name="root">rows</param>
</result>
登入後複製

這將指示插件僅序列化行列表,這是您想要的物件在jQuery 成功處理程序中存取。

在操作類別中,您可以為行列表建立getter 方法:

public List<MyRow> getRows() {
    return this.rows; 
}
登入後複製

用於自訂序列化的值物件

To定義JSON 物件中的列後,您可以建立像MyRow 這樣的值對象,其中包含col1 和col2 屬性的getter 和setter。這允許您自訂序列化格式。

更新了jQuery 回調

指定根物件後,可以更新jQuery 成功處理程序以使用$.each 函數存取資料:

var handledata = function(data) {
    $.each(data, function(index) {
        alert(data[index].col1);
        alert(data[index].col2);
    });
}
登入後複製

透過使用根對象,您可以控制序列化流程並確保您需要的資料在您的jQuery 成功中可用處理程序。

以上是如何使用 Struts2 JSON 外掛程式僅序列化特定物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板