2011-01-29 5 views
1

Je travaille avec des entretoises 2 j'ai arraylist d'objet, j'utilise un <S:iterator> pour afficher l'informatio dans le jsp et cela fonctionne bien, mais j'ai modifié un attribut de l'objet et envoyer à l'action et l'attribut ont été modifiés ont une valeur, mais tous les autres éléments sont de nuls, il est le code du jsp:Struts 2 Array Liste dans la pile de valeur

<s:iterator id="lisbusquedadetalle" status="itstatus"> 
<s:property value="#itstatus.count"/>)<br/> 
<s:property value="%{lisbusquedadetalle[#itstatus.index].articulo.descripcion1}"/><br/> 
<s:textfield key="lisbusquedadetalle[%{#itstatus.index}].cantidadordena" size="7px"/>> </s:iterator> 

dans l'action « cantidadordena » ont la valeur qui ont été établies dans le jsp mais « articulo.descripcion1 » est nulle dans l'action, mais dans la JSP cette information d'affichage.

Merci, salutations.

Répondre

2

Si vous voulez que la valeur de descripcion1 à republier à l'action, vous devez le placer sous la forme comme un champ de sorte que la forme des postes cela. Si vous ne voulez pas que l'utilisateur l'édite, vous pouvez le mettre dans un champ de texte désactivé ou dans un champ caché (ainsi que sur l'écran comme vous le faites actuellement)

Struts2 (ou la plupart des autres cadre, pour cette matière) ne sauvegarde pas le contenu de votre pile de valeurs entre les requêtes. Chaque demande obtient sa propre nouvelle pile de valeurs, en fonction des paramètres affichés et quelle que soit l'action expose.

+0

ne vous fiez pas sur la forme en lecture seule champs pour empêcher les utilisateurs de modifier les données. –