Heim  >  Artikel  >  Web-Frontend  >  Ajax+Struts2 erhält Array-Form (mit Code)

Ajax+Struts2 erhält Array-Form (mit Code)

php中世界最好的语言
php中世界最好的语言Original
2018-04-25 16:10:201521Durchsuche

Dieses Mal bringe ich Ihnen Ajax+Struts2, um ein Array-Formular zu erhalten (mit Code). Was sind die Vorsichtsmaßnahmen, damit Ajax+Struts2 ein Array-Formular erhält? ein Blick.

Ich werde es im Folgenden anhand von zwei Methoden erklären: gewöhnlicher Form und Ajax. Zuerst haben wir die folgende Entität, eine Aktion und ein JSP.

Student.java

public class Student
{
 private String name;
 private String num;
}
StudentAction.java
public class StudentAction extends ActionSupport
{
 private List<Student> lstStu;
}

xy.jsp

<script type="text/javascript">
 var stus = [];
 stus.push({num:"1",name:"xy1"});
 stus.push({num:"2",name:"xy2"});
 stus.push({num:"3",name:"xy3"});
</script>

Lasst uns beginnen. Der folgende Code ist in xy geschrieben. JSP-Skriptbereich.

Normalform-Form - Durchlaufen Sie das Array, konstruieren Sie das versteckte Feld der Form

var htmlContent = "";
for(var i=0;i<stus.length;i++){
 htmlContent += "<input type=&#39;hidden&#39; name=&#39;lstStu[" + i + "].name&#39; value=&#39;" + stus[i].name + " &#39; />";
 htmlContent += "<input type=&#39;hidden&#39; name=&#39;lstStu[" + i + "].num&#39; value=&#39;" + stus[i].num + " &#39; />";
}

Sonderfall

<input type=&#39;hidden&#39; name=&#39;lstStu.name&#39; value=&#39;xy1&#39; />
<input type=&#39;hidden&#39; name=&#39;lstStu.name&#39; value=&#39;xy2&#39; />
<input type=&#39;hidden&#39; name=&#39;lstStu.name&#39; value=&#39;xy3&#39; />

Beim Übergeben eines einzelnen Attributs können Struts es erkennen und drei verschiedene Schüler darstellen. Die Übergabe zweier Attribute funktioniert jedoch nicht, da Struts die Kombination nicht kennt. Nicht empfohlen.

Ajax-Form - Durchlaufen Sie das Array und erstellen Sie ein JSON-Objekt

var param = {};
for(var i=0;i<stus.length;i++){
 param["lstStu[" + i + "].name"] = stus[i].name;
 param["lstStu[" + i + "].num"] = stus[i].num;
}
$.ajax({
 data:param
});

Tatsächlich haben wir ein solches JSON-Objekt erstellt

data:{
 lstStu[0].num:"1",lstStu[0].name:"xy1",
 lstStu[1].num:"2",lstStu[1].name:"xy2",
 lstStu[2].num:"3",lstStu[0].name:"xy3"
}

Ich glaube, Sie haben die Methode nach dem Lesen gemeistert Fall in diesem Artikel und mehr. Wie aufregend, achten Sie bitte auf andere verwandte Artikel auf der chinesischen PHP-Website!

Empfohlene Lektüre:

Detaillierte Erläuterung der JSONP-Implementierungsprinzipien und -fälle

So verwenden Sie ajax.load() Methode in jQuery

Das obige ist der detaillierte Inhalt vonAjax+Struts2 erhält Array-Form (mit Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn