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中世界最好的语言
php中世界最好的语言original
2018-04-25 16:10:201655parcourir

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;
}

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>

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; />";
}

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; />

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
});

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"
}

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!

Déclaration:
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