[JAVA] Memo mit Struts2 + Ajax zu bekommen

Einführung

Ganz nur eine Notiz Ich benutze es beim Abrufen von Daten ohne Bildschirmübergang

Umgebung

Struts2.0.11.2 (zu alt ...) Java 8 (alt ...)

Codierung

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="Senden" onClick="getSampleData();" />

jsonArray.jsp


<!--Muss ich die Antwort so erhalten ...?-->
<%@ 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>();

  //Ausführen, wenn keine Aktionsmethode angegeben ist()Wird genannt
  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;
  }
}

Impressionen

Es ist ärgerlich, jsp vorbereiten zu müssen, wenn die Antwort vom Server empfangen wird. Gibt es einen anderen Weg ...?

Recommended Posts

Memo mit Struts2 + Ajax zu bekommen
Wie fange ich mit schlank an?
Ich habe versucht, mit Web Assembly zu beginnen
[Hinweis] Erste Schritte mit Rspec
Ich habe versucht, die Federbeinkonfiguration mit Coggle zu verwalten
Rails-Anfänger haben versucht, mit RSpec zu beginnen
So löschen Sie eine Ressourcendatei mit Spring-Boot
Schritte zum Bereitstellen von Struts 2.5.8
Ich habe versucht, mit Spring Data JPA zu beginnen
Eine Geschichte über den Versuch, mit Mockito auszukommen
Einführung in "Einführung in die praktische Rostprogrammierung" (Tag 3)
Beginnen Sie mit Gradle
Wie man mit cli jdk etc. von oracle bekommt
So erhalten Sie Werte in Echtzeit mit TextWatcher (Android)
Hinweise zum Erstellen von Jitsi Meet on Azure mit Docker-Compose
Jetzt ist es an der Zeit, mit der Stream-API zu beginnen
Erste Schritte mit JDBC mit PostgresSQL unter MacOS
[Organisation] Für Sie, die mit render & redirect_to durcheinander geraten
Beginnen Sie mit Spring Boot
Rollenorganisationsnotiz in Struts
jCaptcha-Reload mit Ajax implementiert
Wie man mit html.erb nummeriert (nummeriert)
So aktualisieren Sie mit activerecord-import
Stellen Sie mit Java eine Verbindung zur Datenbank her
Stellen Sie mit Java eine Verbindung zu MySQL 8 her
Java Study Memo 2 mit Progate
So erhalten Sie den Wert von Boolean mit jQuery in einfacher Rails-Form
So installieren Sie Adopt OpenJDK unter Debian, Ubuntu mit apt (-get)
Was tun, wenn Sie sich über OpenSSL mit pyenv install ärgern?
[Rails] Was tun, wenn Sie mit form_with keine Parameter abrufen können?