Bonjour,
J'ai une liste déroulante à séléction multiple dans mon application. J'utilise la composant ui-multisection de JQuery. lorsque je sélectionne plusieurs valeurs et que je les tests dans ma classe d'action, seule la dernière valeur sélectionnée est valorisée. que dois-je faire pour que toutes les valeurs soient correctement valorisée ?
Fichier JSP :
Fichier Java :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 <%@ taglib prefix="s" uri="/struts-tags"%> <link rel="stylesheet" href="<s:url value="/css/jquery.multiselect.css"/>" type="text/css" /> <link rel="stylesheet" href="<s:url value="/css/jquery.multiselect.filter.css"/>" type="text/css" /> <link rel="stylesheet" href="<s:url value="/css/themes/base/jquery.ui.theme.css"/>" type="text/css" /> <script type="text/javascript" src="<s:url value="/js/jquery-1.9.1.min.js" />"></script> <script type="text/javascript" src="<s:url value="/js/jquery-ui.min.js" />"></script> <script type="text/javascript" src="<s:url value="/js/jquery.multiselect.min.js" />"></script> <script type="text/javascript" src="<s:url value="/js/jquery.multiselect.filter.js" />"></script> <script language="javascript"> $(function() { $("select").multiselect({ multiple : true, selectedList : 4, noneSelectedText : 'Tous', height : 180 }); $("select").multiselect().multiselectfilter(); }); </script> <s:form id="idForm" action="testOMB.do" name="myForm"> <div class="contentTable"> <div class="tbl"> <table width="100%"> <tr> <td><s:select id="idCombo1" multiple="multiple" list="listItems" name="listIdSelected" value="listIdSelected" listKey="id" listValue="label" emptyOption="true" /></td> </tr> </table> </div> </div> <div class="bloc_action"> <s:submit cssClass="btn_action" value="TEST OMB" /> </div> </s:form>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54 package com.omb.controller.report; import java.util.ArrayList; import java.util.List; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.transaction.annotation.Isolation; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import com.omb.ui.item.Item; import com.opensymphony.xwork2.ActionSupport; import com.opensymphony.xwork2.Preparable; @SuppressWarnings("serial") public class MyAction extends ActionSupport implements Preparable { Log log = LogFactory.getLog(MyAction.class); private List<Item> listItems = new ArrayList<String>(); private List<String> listIdSelected = new ArrayList<String>(); public void prepare() throws Exception { listItems.add(new Item("1", "Item 1")); listItems.add(new Item("2", "Item 2")); listItems.add(new Item("3", "Item 3")); listItems.add(new Item("4", "Item 4")); } @Transactional(propagation = Propagation.REQUIRED, isolation = Isolation.DEFAULT, readOnly = true) public String testOMB() throws Exception { log.debug("listIdSelected = " + listIdSelected.size()); return SUCCES; } public List<Item> getListItems() { return this.listItems; } public void setListItems(List<Item> listItems) { this.listItems = listItems; } public List<Integer> getListIdSelected() { return this.listIdSelected; } public void setListIdSelected(List<Integer> listIdSelected) { this.listIdSelected = listIdSelected; } }
Partager