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

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>
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
<?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>
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
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

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)
mais quant je fait l'ajout sans l'importation d'une image pour le formulaire

l'ajout se fait correctement dans la base de donnée avec une valeur null pour
la colonne docFacture

merci d'avance