Bonsoir,
Désolé de poluer la section Strut. J'ai encore un petit souci. J'aimerais récuperer les valeurs d'un combobox
mais j'obtiens à chaque fois l'erreur suivant :
org.apache.jasper.JasperException: An exception occurred processing JSP page /pages/AdmClientList.jsp at line 67
64: </tr>
65: </table>
66:
67: <html:form action="/Adm_Client?action=list">
68: <html:select property="commercialId">
69: <c:forEach var="p" items="${commercial}">
70: <option value="${p.firstName}">${p.firstName}</option>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:505)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:398)
.....
Cause mère
javax.servlet.ServletException: javax.servlet.jsp.JspException: Exception creating bean of class ac.crm.struts.form.AdmClientForm: {1}
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:850)
.....
AdmClientList.jsp
strut-config.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <html:form action="/Adm_Client?action=list"> <html:select property="commercialId"> <c:forEach var="p" items="${commercial}"> <option value="${p.firstName}">${p.firstName}</option> </c:forEach> </html:select> <html:submit></html:submit> </html:form>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <form-bean name="AdmClientForm" type="ac.crm.struts.form.AdmClientForm" /> <action path="/Adm_Client" type="ac.crm.struts.action.AdmClientAction" name="AdmClientForm" parameter="action" scope="request"> <forward name="list" path="/pages/AdmClientList.jsp"></forward> </action>
L'action form
Et l'action :
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 package ac.crm.struts.form; import org.apache.struts.action.ActionForm; public class AdmClientForm extends ActionForm { private String commercialId; public AdmClientForm(String commercialId) { super(); this.commercialId = commercialId; } public String getCommercialId() { return commercialId; } public void setCommercialId(String commercialId) { this.commercialId = commercialId; } }
L'exception indique que j'ai un problème de bean. Or l'action form est bien présent dans le bon package (ainsi que le .class) avec le bon attribut.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public class AdmClientAction extends DispatchAction{ public ActionForward list(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { Gestion_BdD dataBase = new Gestion_BdD("root"); List<Commercial> com = dataBase.List_Commercial(); request.setAttribute("commercial", com); return mapping.findForward("list"); } }
La page se rapelle sur elle meme. C'est voulu. Je compléterais par la suite l'action pour récupérer les valeurs du formulaire grace au form-bean AdmClientForm ....
Partager