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