salut,
je suis entrain de développer une application JEE avec struts2
pour le moment je veux ajouter une facture dans la base de donnée mysql à travers un formulaire jsp
j'essaye avec ce code
class facture.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 @Entity public class Facture{ private int idFacture; private String name; private JPEG docFacture; @Lob @Basic(fetch = FetchType.LAZY) public JPEG getDocFacture() { return docFacture; } public void setDocFacture(JPEG docFacture) { this.docFacture = docFacture; } @Id @GeneratedValue(strategy = GenerationType.AUTO) public int getIdFacture() { return idFacture; } public void setIdFacture(int idFacture) { this.idFacture= idFacture; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
page facture.jsp
le fichier struts.xml
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 <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@ taglib prefix="s" uri="/struts-tags" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> </head> <body> <s:form action="insert" method="post"> <s:label value="name"/> <s:textfield name="facture.name" /> <s:label value="document"/> <s:file name="facture.docFacture"/> <s:submit value="Submit" /> </s:form> </body> </html>
la class FactureAction.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 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package name="view" extends="struts-portlet-default" namespace="/view"> <action name="insert" class="com.test.FactureAction" method="insertion"> <result name="success">/test.jsp</result> </action> </package> </struts>
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 public class FactureAction extends ActionSupport{ private FactureDaoRemote ServiceFacture ; private Facture facture=new Facture(); public FactureDaoRemote getServiceFacture() { return ServiceFacture; } public void setServiceFacture(FactureDaoRemote serviceFacture) { ServiceFacture = serviceFacture; } public Facture getFacture() { return facture; } public void setFacture(Facture facture) { this.facture= facture; } public Facture Action() { try { Context context=new InitialContext(); ServiceFacture = (FactureDaoRemote) context.lookup("facturation"); } catch (Exception e) { e.printStackTrace(); } } public String execute() throws Exception { return "input"; } public String insertion() { ServiceFacture.add(facture); return "success"; } }
mais lors de l’exécution de ce projet et après remplissage de formulaire et quand je clique sur le bouton d'ajout cette erreur est affiché dans le console
mais quant je fait l'ajout sans l'importation d'une image pour le formulaire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 16:25:36,868 ERROR [Jsr168Dispatcher] Could not find action No result defined for action com.test.FactureAction and result input at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:375) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:277) at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263)
l'ajout se fait correctement dans la base de donnée avec une valeur null pour
la colonne docFacture
merci d'avance
Partager