Struts2 JSON Plugin beroperasi dengan menyerikan keseluruhan tindakan ke dalam JSON, tidak termasuk sifat sementara dan sifat tersebut tanpa getter.
Untuk menyirikan hanya objek tertentu, anda boleh memanfaatkan atribut "root" dalam struts.xml:
<result type="json"> <param name="root"> objectToBeSerialized </param> </result>
Diberikan struktur data dengan berbilang baris diwakili sebagai "[col1, col2]", anda boleh cipta:
Objek Nilai (MyRow.java):
public class MyRow implements Serializable { private String col1; private String col2; // Getters and setters omitted for brevity }
Kelas tindakan (PartAction.java):
public class PartAction implements Serializable { private List<MyRow> rows; public List<MyRow> getRows() { return rows; } public String finder() { rows = new ArrayList<>(); // Loop through search results and populate rows return Action.SUCCESS; } }
Struts.xml:
<package name="default" namespace="/ajax" extends="json-default"> <action name="finder" class="action.Part" method="finder"> <result type="json"> <param name="root">rows</param> </result> </action> </package>
Fungsi Panggilan Balik AJAX:
var handledata = function(data) { $.each(data, function(index) { alert(data[index].col1); alert(data[index].col2); }); }
Atas ialah kandungan terperinci Bagaimana untuk Menyesuaikan Struts2 JSON Plugin Serialization untuk Objek Tertentu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!