Maison >Java >javaDidacticiel >Comment personnaliser la sérialisation du plug-in JSON Struts2 pour des objets spécifiques ?
Le plugin JSON Struts2 fonctionne en sérialisant l'intégralité de l'action en JSON, à l'exclusion des propriétés transitoires et de celles sans getters.
Pour sérialiser uniquement un objet spécifique, vous pouvez exploiter l'attribut "racine" dans struts.xml :
<result type="json"> <param name="root"> objectToBeSerialized </param> </result>
Étant donné une structure de données avec plusieurs lignes représentées par "[col1, col2]", vous pouvez créer :
Objet de valeur (MyRow.java) :
public class MyRow implements Serializable { private String col1; private String col2; // Getters and setters omitted for brevity }
Classe d'action (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>
Rappel AJAX Fonction :
var handledata = function(data) { $.each(data, function(index) { alert(data[index].col1); alert(data[index].col2); }); }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!