Maison > interface Web > js tutoriel > Ajax+Struts2 reçoit le formulaire de tableau (avec code)

Ajax+Struts2 reçoit le formulaire de tableau (avec code)

php中世界最好的语言
Libérer: 2018-04-25 16:10:20
original
1609 Les gens l'ont consulté

Cette fois, je vous propose Ajax+Struts2 pour recevoir un formulaire tableau (avec code). Quelles sont les précautions pour qu'Ajax+Struts2 reçoive un formulaire tableau. Ce qui suit est un cas pratique, prenons. un regard.

Je vais vous expliquer ci-dessous à travers deux méthodes : la forme ordinaire et l'ajax. Nous avons d’abord l’entité suivante, une action et un jsp.

Student.java

public class Student
{
 private String name;
 private String num;
}
StudentAction.java
public class StudentAction extends ActionSupport
{
 private List<Student> lstStu;
}
Copier après la connexion

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>
Copier après la connexion

Commençons, les codes suivants sont Écrit dans la zone de script de xy.jsp.

Formulaire normal - Parcourir le tableau, construire le champ caché du formulaire

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; />";
}
Copier après la connexion

Cas particulier

<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; />
Copier après la connexion

Lors de la transmission d'un seul attribut, les struts peuvent le reconnaître et représenter trois étudiants différents. Mais transmettre deux attributs ne fonctionnera pas, car struts ne connaît pas la combinaison. Non recommandé.

Formulaire ajax - parcourir le tableau et construire un objet json

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
});
Copier après la connexion

En fait, nous avons construit un tel objet json

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"
}
Copier après la connexion

Je crois que vous le maîtrisez après avoir lu le cas dans cet article. Pour des méthodes plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !

Lecture recommandée :

Explication détaillée des principes et des cas d'implémentation de JSONP

Comment utiliser ajax.load() méthode dans jQuery

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal