Recup données html:select dans classe action - Java - Programmation
Marsh Posté le 16-06-2005 à 10:52:53
Oui j'avais oublié de préciser je fais du struts et c'est donc lors du submit du formulaire que j'aimerais récupérer les éléments sélectionnés dans mon Action...
Marsh Posté le 16-06-2005 à 11:39:28
Bon ben après beaucoup de recherches j'ai trouvé un système pour récupérer l'élément d'une liste simple dans ma classe Action. Maintenant je cherche à récupérer plusieurs éléments d'une liste (<html:select multiple="true"> ) permettant donc de sélectionner plusieurs items.
Marsh Posté le 16-06-2005 à 16:29:34
Bon ben j'ai trouvé tout seul pour finir (avec un peu de bol il est vrai), si ça intéresse quelqu'un il peut me demander...
Marsh Posté le 19-06-2005 à 11:28:27
hello,
moi je veux bien savoir comment tu as fait ça m'intéresse.
Merci
Marsh Posté le 04-07-2005 à 11:55:59
Code :
|
Objet envoyé à la jsp: request.getSession().setAttribute("DELTALIST",new DataBean(v));
Dans la JSP:
Code :
|
Dans idNE se trouve alors les indexs des différents éléments sélectionnés du vecteur de ne et il suffit donc de faire un getElement du vecteur à l'index idNE[i] pour récupérer une valeur.
Enfin je sais pas si j'ai été très clair mais j'ai du boulot... Redemande si besoin.
Marsh Posté le 04-07-2005 à 13:44:35
Si, j'ai compris.
idNE est la liste de tous les indexs sélectionnés par l'utilisateur.
La liste complète des objets (les sélectionnés et les pas sélectionnés) est dans un autre vecteur : ne.
Les indexs de idNE font référence à ne.
Merci pour l'info et bon courage pour la suite.
Marsh Posté le 16-06-2005 à 10:48:23
J'aimerais savoir comment récupère-t-on les données sélectionnées de ma JSP dans la classe Action car je récupère en fait toutes les données du vecteur de départ alors que j'aimerais ne récupérer que les champs sélectionnés.
JSP:
<html:select name="DELTALIST" property="idType">
<html:optionsCollection name="DELTALIST" property="com" label="commande" value="idCom" />
</html:select>
com est un vecteur de commandes
Classe Action:
public ActionForward execute(ActionMapping mapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse httpServletResponse) throws IOException, ServletException, NamingException
{
System.out.println("Action SendData" );
String cible="true";
DataBean db=(DataBean)actionForm;
System.out.println("Description:"+db.getDescription());
System.out.println("Longueur vecteur commandes:"+(db.getCom()).size());
ComBean cb=(ComBean)db.getCom().firstElement();
System.out.println(cb.getCommande());
return mapping.findForward(cible);
}
Le DataBean est le formulaire qui est retourné de ma JSP, il contient un vecteur de commandes mais retourne tous mes éléments du vecteur et non seulement ceux sélectionnés. ComBean est l'objet qui se trouve dans le vecteur et qui contient comme variables la commande et son id (idCom). Comment ne ramener que les éléments sélectionnés? Via un script c'est sûrement possible ou encore passer l'id du dans l'url mais bon il y a sûrement mieux non? Je pense qu'il est possible d'écraser l'ancien vecteur par le nouveau ne contenant que les éléments sélectionnés mais comment?
D'avance merci pour toute aide...