Complètement juste une note Je l'utilise lors de la récupération de données sans transition d'écran
Struts2.0.11.2 (trop vieux ...) Java 8 (ancien ...)
JSP
sample.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<input type="button" value="Envoyer" onClick="getSampleData();" />
jsonArray.jsp
<!--Dois-je recevoir une réponse comme celle-ci ...?-->
<%@ page language="java" contentType="text/javascript; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<s:property value="jsonArray" escape="false"/>
JavaScript(Ajax)
sample.js
function getSampleData() {
new Ajax.Request("GetSampleData.action", {
method : 'GET',
onSuccess : function(res) {
var arr = JSON.Parse(res.responseText);
arr.forEach(function(data){
console.log(data.id + ":" + data.name);
}
},
onError : function() {
console.log("Error");
},
onComplete : function() {
console.log("Complete");
}
})
}
struts.xml
struts.xml
<action name="GetSampleData" class="PATH.BuildSampleData">
<result>PATH/jsonArray.jsp</result>
</action>
Action Class
BuildSampleData.java
package hogehoge.fugafuga
import java.util.ArrayList;
import net.sf.json.JSONObject;
public class BuildLoginData {
private ArrayList<JSONObject> jsonArray = new ArrayList<JSONObject>();
//Exécuter si la méthode d'action n'est pas spécifiée()Est appelé
public String execute() throws Exception {
JSONObject tarou = new JSONObject();
tarou.put("id", 1);
tarou.put("name", "tarou");
jsonArray.add(tarou);
JSONObject hanako = new JSONObject();
hanako.put("id", 2);
hanako.put("name", "hanako");
jsonArray.add(hanako);
return "success";
}
public ArrayList<JSONObject> getJsonArray() {
return jsonArray;
}
public void setJsonArray(ArrayList<JSONObject> jsonArray) {
this.jsonArray = jsonArray;
}
}
Il est ennuyeux de devoir préparer jsp lors de la réception de la réponse du serveur. Est-ce qu'il y a un autre moyen ...?
Recommended Posts