Struts logic:iterate champ de saisie
J'ai actuellement le code suivant et les données s'affichent bien.
<logic:iterate name="myList" id="product" indexId="iteration" type="com.mycompany.MyBean">
<tr>
<td> <bean:write name="product" property="weight"/> </td>
<td> <bean:write name="product" property="sku"/> </td>
<td> <bean:write name="product" property="quantity"/> </td>
</tr>
</logic:iterate>
Mais maintenant, j'ai besoin de faire de la "quantité" de la partie modifiable. L'utilisateur doit être en mesure de mettre à jour ce champ, appuyez sur soumettre et lors de son envoyé vers le serveur, "maliste" devrait mettre à jour automatiquement avec les nouvelles quantités.
J'ai essayé de chercher de l'aide sur ce sujet, mais tout ce que je conserver est de trouver des exemples sur la façon d'afficher uniquement les données, pas le modifier. Toute aide serait appréciée.
Vous ne pouvez pas mettre à jour directement à l'aide de la logique de la balise. Vous pouvez utiliser ajax et le feu de l'ajax en fonction de l'événement onchange du champ de texte qui permettra de mettre à jour la quantité dans le serveur.
wow...ça va être long à répondre...
ce n'est pas vrai, je l'ai fait.
Merci de poster la solution.
Il semble donc que logic:iterate est surtout utile pour l'affichage des données & pas très efficace-friendly en permettant à l'utilisateur de mettre à jour les données, au moins pas de la façon que je veux faire. Je suppose que c'est quelque chose qui est requise assez souvent. La question est donc, quoi d'autre à part logic:iterate peut être utilisé pour accomplir cette? Serait une c:foreach être beaucoup mieux?
wow...ça va être long à répondre...
ce n'est pas vrai, je l'ai fait.
Merci de poster la solution.
Il semble donc que logic:iterate est surtout utile pour l'affichage des données & pas très efficace-friendly en permettant à l'utilisateur de mettre à jour les données, au moins pas de la façon que je veux faire. Je suppose que c'est quelque chose qui est requise assez souvent. La question est donc, quoi d'autre à part logic:iterate peut être utilisé pour accomplir cette? Serait une c:foreach être beaucoup mieux?
OriginalL'auteur LatinCanuck | 2012-04-20
Vous devez vous connecter pour publier un commentaire.
Donc c'est délicat, parce qu'il y a beaucoup de choses à faire dans l'ordre pour que cela fonctionne. Tout d'abord, déclarer vos balises à l'intérieur de l'itérateur avec les balises html, avec l'attribut INDEXÉ=TRUE et un ID DIFFÉRENT DU NOM, j'ai aussi pris le "indexId" attribut à utiliser la méthode de "l'indice" mot de l'index:
après que, pour des étais pour être en mesure d'obtenir et de définir les attributs de vos haricots, vous devez déclarer SUPPLÉMENTAIRE méthodes get et set à l'intérieur de votre objet de collection, en utilisant le nom que vous avez écrit dans l'identification de l'itération de la balise. Dans ce cas, vous devez écrire 2 extra méthodes get et set pour la "myListI" :
il suffit de jouer avec elle. Utiliser le haricot:écrire les balises de ce qui ne doit pas être modifié, ou html:entrée, qui a été désactivé. Il existe de nombreuses façons d'accomplir cela, il est à vous comment faire pour la mettre en œuvre.
excellente réponse. Dans mon cas, j'avais besoin de la getNameOfId(int index) pour la solution de travail, mais je poste la solution séparément pour référence. Merci!
comment est-ce de travailler avec une table de hachage?
OriginalL'auteur Th0rndike
Je pense que Th0rndikes réponse est la plupart du temps correct. Mon application est légèrement différente, de sorte qu'il peut être la peine d'essayer.
Forme
JSP
En résumé, je n'ai pas utiliser le Type de l'itération de la balise, à l'aide de la balise de propriété plutôt. Dans le bean de l'ajout d'un getter avec correspondait au nom de l'itération de l'ID dans la page JSP (param) avec un indice d'un paramètre de méthode a fait le tour.
OriginalL'auteur javatestcase
Théoriquement, le
indexé
l'attribut de la pavane des balises html pourrait être utilisé pour cela:Mais, il n'y a pas de
indexed
attribut sur lahtml:errors
balise, ce qui limite son utilité. Aussi, la combinaison deid
,name
etproperty
attributs peuvent être assez déroutant.Je l'ai trouvé plus facile à utiliser jsp scriptlets pour générer le nom de la propriété, y compris l'index d'itération. Le code suivant suppose que la forme a un tableau de chaîne de propriété "quantité".
OriginalL'auteur Jörn Horstmann
Prendre un coup d'oeil à ceci: http://wiki.apache.org/struts/StrutsCatalogLazyList
OriginalL'auteur Carlos