J'essaie de passer la valeur de la page JSP à ma classe Action en appuyant sur le bouton Mise à jour.Le formulaire de mise à jour avec struts2 ne fonctionne pas
Dans ce cas, je crée dans la classe d'action une liste de chaînes nommées value
avec getter et setter.
Mon problème est que, lorsque vous essayez de modifier le champ d'entrée en JSP puis en appuyant sur Mise à jour, value
reste le même (avec sa valeur initiale) dans la classe d'action.
Par exemple:
v[0] = "zero"
v[1] = "something"
v[2] = "true"
Dans ma forme, j'ai changé le texte d'entrée v[2]
dans "false"
puis pressée Mise à jour; lorsqu'il est imprimé en execute()
, v[2]
reste "true"
.
MISE À JOUR: Je récrire le code jsp, en utilisant tag struts2 au lieu de scriptlet
<form name="propertiesForm" method="post" action="<s:url value='/update.action'/>" >
<table>
<tr>
<th>Property</th>
<th>Value</th>
</tr>
<s:iterator value="%{propertiesForm.properties}" status="rowStatus">
<tr>
<td><s:property value="%{properties[#rowStatus.index].name}"/></td>
<td><s:textfield name="value[%{#rowStatus.index}]" value="%{propertiesForm.getValue(#rowStatus.index)}"/></td>
</tr>
</s:iterator>
<tr>
<td><input class="buttons" type="submit" value="Update" /></td>
</tr>
</table>
</form>
Y a-t-il un 'setValue (String [] v)' dans l'action? – fustaki
Avez-vous vu le journal montrer que l'action 'update' est effectivement appelée lorsque vous appuyez sur le bouton' update', si oui, pourriez-vous montrer votre action 'update'. – fangxing
@fustaki Oui, j'ai setter et getter pour la valeur dans la classe d'action – Ariana