Bonjour à tous,
voici mon petit problème : imaginez un formulaire de recherche dont le résultat de la recherche est affiché juste en dessous. Les critères de recherche sont les suivants :
- product name : texfield (freetext)
- product type : combobox
- product manager : combobox
L'utilisateur rentre un nom de produit, sélectionne un type de produit et clique sur le bouton search. Le résultat s'affiche mais dans le filtre de recherche seul le product name est gardé. La sélection du type de produit et du product manager a disparu...
C'est relativement étrange...
Voici la jsp :
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
55
56
57
58
59
60
61 <form method="post"> <table> <tr> <td> <img src="img/blueArrow.gif" width="9" height="8" /> <spring:message code="product.type"/> </td> <td> <spring:bind path="product.type"> <SELECT name="<c:out value="${status.expression}"/>" class="formSelect" value="<c:out value="${status.value}"/>"> <OPTION value=""> </OPTION> <c:forEach items="${sessionScope.types}" var="type"> <OPTION value="<c:out value="${type.id}"/>"> <c:out value="${type.labelEn}"/> </OPTION> </c:forEach> </SELECT> </spring:bind> </td> </tr> <tr> <td> <img src="img/blueArrow.gif" width="9" height="8" /> <spring:message code="product.name"/> </td> <td> <spring:bind path="product.name"> <input name="<c:out value="${status.expression}"/>"value="<c:out value="${status.value}"/>" /> </spring:bind> </td> </tr> <tr> <td> <img src="img/blueArrow.gif" width="9" height="8" /> <spring:message code="product.manager"/> </td> <td> <spring:bind path="product.manager"> <SELECT name="<c:out value="${status.expression}"/>" class="formSelect" value="<c:out value="${status.value}"/>"> <OPTION value=""> </OPTION> <c:forEach items="${sessionScope.managers}" var="availability"> <OPTION value="<c:out value="${manager.id <c:out value="${manager.name}"/> </OPTION> </c:forEach> </SELECT> </spring:bind> </td> </tr> <tr> <td> </td> <td> <input type="submit" class="button" value="Search" name="search"/> <input type="reset" class="button" value="Reset" /> </td> </tr> </table> </form> <h1>Results</h1> ...
Le pojo contient les attributs suivants :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 private String type; private String name; private String manager;Merci à tous ceux qui ont essayé ou réussi à m'aider.
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 public class SearchProductController extends SimpleFormController { @SuppressWarnings("unchecked") protected Map referenceData(HttpServletRequest request, Object command, Errors errors) throws Exception { Map references = new HashMap(); if (request.getParameter("search")!=null) { ... Collection <Product> producs = getServiceLocator().getProductService().findProduct(criteria); references.put("products",candidates); } return references; } protected boolean isFormChangeRequest(HttpServletRequest request) { return true; } protected boolean suppressValidation(HttpServletRequest request) { return false; } }
Partager