Bonjour, je suis un autodidacte dans le domaine. J'arrive à m'en sortir, mais j'ai un niveau très débutant.

Mon problème. J'ai changé mon ordinateur. J'ai réinstallé Tomcat et Eclipse sur celui-ci (des versions plus récentes). Mon application web permet de gérer des produits qui sont dans une BD sql. Elle fonctionne sur mon nouvel ordi, MAIS dès que je la modifie, j'obtiens le message d'erreur suivant. J'essaie de modifier la list.jsp pour afficher une nouvelle valeur, prixvent. J'ai fouillé fouillé fouillé, ça fait 3 semaines que je tourne en rond. Besoin de votre aide.
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
[2015-08-12 21:59:57,542] [         http-8080-2]  WARN   org.displaytag.util.LookupUtil (<init>:99) - Exception: [.LookupUtil] Error looking up property "prixvent" in object type "com.patrick.caisse.beans.ProductBean". Cause: Unknown property 'prixvent'
java.lang.NoSuchMethodException: Unknown property 'prixvent'
	at org.apache.commons.beanutils.PropertyUtilsBean.getSimpleProperty(PropertyUtilsBean.java:1122)
	at org.apache.commons.beanutils.PropertyUtils.getSimpleProperty(PropertyUtils.java:408)
	at org.displaytag.util.LookupUtil.getProperty(LookupUtil.java:271)
	at org.displaytag.util.LookupUtil.getBeanProperty(LookupUtil.java:129)
	at org.displaytag.model.Column.getValue(Column.java:124)
	at org.displaytag.model.Column.createChoppedAndLinkedValue(Column.java:201)
	at org.displaytag.model.Column.initialize(Column.java:178)
	at org.displaytag.render.TableWriterTemplate.writeTableBody(TableWriterTemplate.java:308)
	at org.displaytag.render.TableWriterTemplate.writeTable(TableWriterTemplate.java:133)
	at org.displaytag.render.HtmlTableWriter.writeTable(HtmlTableWriter.java:643)
	at org.displaytag.tags.TableTag.writeHTMLData(TableTag.java:1549)
	at org.displaytag.tags.TableTag.doEndTag(TableTag.java:1218)
	at org.apache.jsp.WEB_002dINF.jsp.product.list_jsp._jspx_meth_display_005ftable_005f0(list_jsp.java:265)
	at org.apache.jsp.WEB_002dINF.jsp.product.list_jsp._jspService(list_jsp.java:126)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)
	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)
	at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:968)
	at org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:627)
	at org.apache.struts.tiles.TilesUtilImpl.doInclude(TilesUtilImpl.java:101)
	at org.apache.struts.tiles.TilesUtil.doInclude(TilesUtil.java:137)
	at org.apache.struts.taglib.tiles.InsertTag.doInclude(InsertTag.java:758)
	at org.apache.struts.taglib.tiles.InsertTag$InsertHandler.doEndTag(InsertTag.java:890)
	at org.apache.struts.taglib.tiles.InsertTag.doEndTag(InsertTag.java:460)
	at org.apache.jsp.WEB_002dINF.jsp.adminLayout_jsp._jspx_meth_tiles_005finsert_005f0(adminLayout_jsp.java:135)
	at org.apache.jsp.WEB_002dINF.jsp.adminLayout_jsp._jspService(adminLayout_jsp.java:94)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
	at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1056)
	at org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:261)
	at org.apache.struts.tiles.TilesRequestProcessor.processTilesDefinition(TilesRequestProcessor.java:237)
	at org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:300)
	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:231)
	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
	at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:620)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	at java.lang.Thread.run(Unknown Source)
[2015-08-12 21:59:57,545] [         http-8080-2]  ERROR  .struts.taglib.tiles.InsertTag (doEndTag:920) - ServletException in '/WEB-INF/jsp/product/list.jsp': javax.servlet.jsp.JspException: Exception: [.LookupUtil] Error looking up property "prixvent" in object type "com.patrick.caisse.beans.ProductBean". Cause: Unknown property 'prixvent'
org.apache.jasper.JasperException: javax.servlet.ServletException: javax.servlet.jsp.JspException: Exception: [.LookupUtil] Error looking up property "prixvent" in object type "com.patrick.caisse.beans.ProductBean". Cause: Unknown property 'prixvent'
	at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:538)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:412)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551)
	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488)
	at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:968)
	at org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:627)
	at org.apache.struts.tiles.TilesUtilImpl.doInclude(TilesUtilImpl.java:101)
	at org.apache.struts.tiles.TilesUtil.doInclude(TilesUtil.java:137)
	at org.apache.struts.taglib.tiles.InsertTag.doInclude(InsertTag.java:758)
	at org.apache.struts.taglib.tiles.InsertTag$InsertHandler.doEndTag(InsertTag.java:890)
	at org.apache.struts.taglib.tiles.InsertTag.doEndTag(InsertTag.java:460)
	at org.apache.jsp.WEB_002dINF.jsp.adminLayout_jsp._jspx_meth_tiles_005finsert_005f0(adminLayout_jsp.java:135)
	at org.apache.jsp.WEB_002dINF.jsp.adminLayout_jsp._jspService(adminLayout_jsp.java:94)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
	at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1056)
	at org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:261)
	at org.apache.struts.tiles.TilesRequestProcessor.processTilesDefinition(TilesRequestProcessor.java:237)
	at org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:300)
	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:231)
	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
	at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:620)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
	at java.lang.Thread.run(Unknown Source)
Caused by: javax.servlet.ServletException: javax.servlet.jsp.JspException: Exception: [.LookupUtil] Error looking up property "prixvent" in object type "com.patrick.caisse.beans.ProductBean". Cause: Unknown property 'prixvent'
	at org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:864)
	at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:797)
	at org.apache.jsp.WEB_002dINF.jsp.product.list_jsp._jspService(list_jsp.java:137)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
	... 50 more
Caused by: Exception: [.LookupUtil] Error looking up property "prixvent" in object type "com.patrick.caisse.beans.ProductBean". Cause: Unknown property 'prixvent'
	at org.displaytag.util.LookupUtil.getBeanProperty(LookupUtil.java:141)
	at org.displaytag.model.Column.getValue(Column.java:124)
	at org.displaytag.model.Column.createChoppedAndLinkedValue(Column.java:201)
	at org.displaytag.model.Column.initialize(Column.java:178)
	at org.displaytag.render.TableWriterTemplate.writeTableBody(TableWriterTemplate.java:308)
	at org.displaytag.render.TableWriterTemplate.writeTable(TableWriterTemplate.java:133)
	at org.displaytag.render.HtmlTableWriter.writeTable(HtmlTableWriter.java:643)
	at org.displaytag.tags.TableTag.writeHTMLData(TableTag.java:1549)
	at org.displaytag.tags.TableTag.doEndTag(TableTag.java:1218)
	at org.apache.jsp.WEB_002dINF.jsp.product.list_jsp._jspx_meth_display_005ftable_005f0(list_jsp.java:265)
	at org.apache.jsp.WEB_002dINF.jsp.product.list_jsp._jspService(list_jsp.java:126)
	... 53 more
Caused by: java.lang.NoSuchMethodException: Unknown property 'prixvent'
	at org.apache.commons.beanutils.PropertyUtilsBean.getSimpleProperty(PropertyUtilsBean.java:1122)
	at org.apache.commons.beanutils.PropertyUtils.getSimpleProperty(PropertyUtils.java:408)
	at org.displaytag.util.LookupUtil.getProperty(LookupUtil.java:271)
	at org.displaytag.util.LookupUtil.getBeanProperty(LookupUtil.java:129)
	... 63 more
le code de ma page list.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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
<%@ page pageEncoding="UTF-8"%>
<!--  %@ page import="org.math.managers.*"%-->
<%@ page import="com.patrick.caisse.beans.*"%>
<%@ page import="java.util.*"%>
<%@ taglib uri="http://displaytag.sf.net" prefix="display"%>
 
<%
	ListKeyWordsBean beanKey = (ListKeyWordsBean) request
			.getAttribute("SeachKeyWords");
%>
 
<!--<%-->
<!--	List<String> categoriesList = (List<String>) request-->
<!--			.getAttribute("sessionCategoryList");-->
<!--%>-->
<!---->
<br>
<br>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
	<tr>
		<td>
		<form action="product.htm" method="POST"><input type="hidden"
			name="action" value="newProduct" /> <input type="submit" name="new"
			value="New Product" class="but"></form>
		</td>
	</tr>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr> 
    <td> 
	<form action="product.htm" method="POST">
		<input type="hidden" name="action" value="search"/>
		Nom:<input type="text" name="nom" value="<%=beanKey.getNom()%>"/>
			Categorie:<input type="text" name="category" value="<%=beanKey.getCategorie()%>"/>
				Founisseur:<input type="text" name="fournisseur" value="<%=beanKey.getFournisseur()%>"/>
					Description:<input type="text" name="description" value="<%=beanKey.getDescription()%>"/>			
						Numero:<input type="text" name="numero" value="<%=beanKey.getNumero()%>"/>	
<!-- 					CodeFourn:<input type="text" name="cOdefourn" value="%=beanKey.getCodeFourni()%>"/> -->
	      <input type="submit" name="new" value="Search" class="but">
 
	</form>
    </td>
  </tr>
 
</table>
 
 
 
 
<display:table name="test" export="true"
	requestURI="product.htm?action=list" excludedParams="*" cellspacing="0"
	cellpadding="0" pagesize="30" class="list">
 
	<display:column title="" style="width:10px;"
		href="product.htm?action=edit" paramId="id" paramProperty="id"
		media="html">
		<img src="img/list/edit.gif" height="16" border="0" />
	</display:column>
 
 
	<display:column style="width:40px;" property="numero" sortable="true"
		title="Numero" />
	<display:column style="width:300px;" property="name" sortable="true"
		title="Nom" />
	<display:column style="width:100px;" property="categorie"
		sortable="true" title="Catégorie" />
 
	<display:column style="width:100px;" property="fournisseurNom"
		sortable="true" title="Fournisseur" />
 
 
	<display:column style="width:50px;" property="prix"
		sortable="true" title="Coûtant" />				
 
	<display:column style="width:50px;" property="majoration"
		sortable="true" title="Maj" />							
 
	<display:column style="width:50px;" property="prixvent"
		sortable="true" title="Prix" />		 
 
	<display:column style="width:20px;" property="qteParMesure"
		sortable="true" title="Cs" />	
 
	<display:column style="width:20px;" property="multiple"
		sortable="true" title="Cs" />	
 
	<display:column style="width:20px;" property="poids"
	sortable="true" title="Cs" />
 
	<display:column style="width:20px;" property="locPrin"
	sortable="true" title="Loc" />
 
	<display:column property="descriptionS" sortable="true"
		title="Description" />
 
	<display:column title="Copier" style="width:10px;"
		href="product.htm?action=newProductFromCopy" paramId="id" paramProperty="id"
		media="html">
		<img src="img/list/copy.gif" height="16" border="0" />
	</display:column>
 
 
	<display:column title="" style="width:10px;"
		href="product.htm?action=deleteProduct" paramId="id"
		paramProperty="id" media="html">
		<img src="img/list/delete.gif" height="16" border="0" />
	</display:column>
 
</display:table>
Et voici mon ProductBean.java (seulement ce qui est pertinent, je n'ai copié les autres getters et setters).
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
 
 
package com.patrick.caisse.beans;
 
import java.sql.Timestamp;
 
public class ProductBean {
 
	String id = "";
 
	String name = "name";
	String description = "description";
	String descriptionS = "";
	String numero = "numero";
	String categorie = "categorie";
	float poids = 0;
	float prix = 0;
	float prixvent = 0;
	float Majoration = 0;
 
	boolean aupoids = false;
	boolean TPS = false;
	boolean TVQ = false;
	String MesureID = "MesureID";
	float QteParMesure = 0;
	String FournisseurID = "FournisseurID";
	String LocPrin = "Discont";
	byte LocSec = 99;
	String CodeFOurn = "";
	boolean EnCommande = false;
	float QteCommande = 0;
	float Consigne = 0;
	float Multiple = 1;
	boolean BPT = false;
	//	Timestamp Version;
    Timestamp Reminder;
	String NumeroCaisse = "";
	float majorationcaisse = 15;
	String FournisseurNom = "fournisseurnom";
	String Provenance = "provenance";
	boolean Detaxable = false;
	String NumeroAlt =  "";
	float Tare = 0;
 
 
 
public void setPrixvent(float prixvent) {
		// TODO Auto-generated method stub
		this.prixvent = prixvent;
	}
 
public float getPrixvent() {
		return prixvent;
	}
 
 
}
J'enchaîne avec ProductModel.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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
package com.patrick.caisse.dao;
 
import java.math.BigDecimal;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import java.util.UUID;
 
import com.patrick.caisse.beans.ProductBean;
import com.patrick.caisse.framework.Model;
 
 
public class ProductModel extends Model {
	static String tableName = "produit";
	private static boolean Modifs = false;
 
 
	public static java.sql.Date getCurrentJavaSqlDate() {
		java.util.Date today = new java.util.Date();
		return new java.sql.Date(today.getTime());
	}
 
	public static List<ProductBean> getAllProducts() throws SQLException {
		String sql = "SELECT Produit.*, Fournisseur.Nom AS FournisseurNom FROM Produit INNER JOIN "
                    + " Fournisseur ON Produit.FK_FournisseurID = Fournisseur.FournisseurID"
				+ " where Produit.Actif <> '0' order by Produit.numero";
		return getAllProducts(sql);
	}
 
	public static List<ProductBean> getAllProducts(ProductBean bean)
			throws SQLException {
		String sql = "SELECT Produit.*, Fournisseur.Nom AS FournisseurNom FROM Produit INNER JOIN "
            + " Fournisseur ON Produit.FK_FournisseurID = Fournisseur.FournisseurID  where Produit.Actif <> '0' ";
		if (bean.getName() != null && bean.getName().length() > 0) {
			sql = sql + " and Produit.Nom like '%" + bean.getName() + "%' ";
		}
		if (bean.getCategorie() != null && bean.getCategorie().length() > 0) {
			sql = sql + " and Produit.Categorie like '%" + bean.getCategorie() + "%' ";
		}
		if (bean.getFournisseurNom() != null && bean.getFournisseurNom().length() > 0) {
			sql = sql + " and Fournisseur.Nom like '%" + bean.getFournisseurNom() + "%' ";
		}
		if (bean.getDescription() != null && bean.getDescription().length() > 0) {
			sql = sql + " and Produit.Description like '%" + bean.getDescription() + "%' ";
		}
		if (bean.getNumero() != null && bean.getNumero().length() > 0) {
			sql = sql + " and Produit.Numero like '%" + bean.getNumero() + "%' ";
		}
		if (bean.getCodeFOurn() != null && bean.getCodeFOurn().length() > 0) {
			sql = sql + " and Produit.CodeFourn like '%" + bean.getCodeFOurn() + "%' ";
		}
		sql = sql + " order by Produit.numero";
		return getAllProducts(sql);
	}
 
	private static List<ProductBean> getAllProducts(String sql)
			throws SQLException {
		List<ProductBean> list = new ArrayList<ProductBean>();
		Connection conn = null;
		Statement st = null;
		ResultSet rs = null;
	    setModifs(false);
		try {
			conn = getConnection();
			st = conn.createStatement();
			rs = st.executeQuery(sql);
			while (rs.next()) {
				list.add(loadProduct(rs));
			}
		    rs.close();
		    rs = null;
		    st.close();
		    st = null;
		    conn.close(); // Return to connection pool
		    conn = null;  // Make sure we don't close it twice			
		} finally {
		    if (rs != null) {
		        try { rs.close(); } catch (SQLException e) { ; }
		        rs = null;
		      }
		      if (st != null) {
		        try { st.close(); } catch (SQLException e) { ; }
		        st = null;
		      }
		      if (conn != null) {
		        try { conn.close(); } catch (SQLException e) { ; }
		        conn = null;
		      }
		}
		return list;
	}
 
	private static ProductBean loadProduct(ResultSet rs) throws SQLException {
		ProductBean bean = new ProductBean();
		bean.setNumero(rs.getString("Numero"));
		bean.setCategorie(rs.getString("Categorie"));
		bean.setId(rs.getString("ProduitID"));
		bean.setName(rs.getString("Nom"));
		bean.setDescription(rs.getString("Description"));
		bean.setPoids(rs.getFloat("QteMesure"));
		bean.setPrix(rs.getFloat("Prix"));
		bean.setMajoration(rs.getFloat("PctFournisseur"));
	//		bean.setPrixVente(rs.getFloat("Prix") / ((100 - rs.getFloat("PctFournisseur")) / 100));
		bean.setPrixvent(rs.getFloat("Prix"));
		bean.setAupoids(rs.getBoolean("AuPoids"));
		bean.setTPS(rs.getBoolean("TpsApplicable"));
		bean.setTVQ(rs.getBoolean("TvqApplicable"));
		bean.setMesureID(rs.getString("FK_MesureID"));
		bean.setFournisseurID(rs.getString("FK_FournisseurID"));
		bean.setQteParMesure(rs.getFloat("QteParMesure"));
		bean.setLocPrin(rs.getString("LocPrin"));
		bean.setLocSec(rs.getByte("LocSec"));
		bean.setCodeFOurn(rs.getString("CodeFourn"));
		bean.setEnCommande(rs.getBoolean("EnCommande"));
		bean.setQteCommande(rs.getFloat("QteCommande"));
		bean.setConsigne(rs.getFloat("Consigne"));
		bean.setMultiple(rs.getFloat("Multiple"));
		bean.setBPT(rs.getBoolean("BPT"));
		bean.setNumeroCaisse(rs.getString("NumeroCaisse"));
		bean.setMajorationcaisse(rs.getFloat("PctFournisseurCaisse"));
		bean.setReminder(rs.getTimestamp("Reminder"));
		bean.setProvenance(rs.getString("Provenance"));
		bean.setDetaxable(rs.getBoolean("Detaxable"));
		bean.setNumeroAlt(rs.getString("NumeroAlt"));
		bean.setTare(rs.getFloat("Tare"));
 
        if (!getModifs()) {
			bean.setFournisseurNom(rs.getString("FournisseurNom"));		
	}
		return bean;
	}
Et ProductManager.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
60
61
62
package com.patrick.caisse.managers;
 
import java.util.List;
 
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
import org.apache.log4j.Logger;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
 
import com.patrick.caisse.beans.FournisseursBean;
import com.patrick.caisse.beans.ListKeyWordsBean;
import com.patrick.caisse.beans.MesureBean;
import com.patrick.caisse.beans.ProductBean;
import com.patrick.caisse.beans.ProductInventBean;
import com.patrick.caisse.dao.CategoryModel;
import com.patrick.caisse.dao.FournisseursModel;
import com.patrick.caisse.dao.MesureModel;
import com.patrick.caisse.dao.ModifProductModel;
import com.patrick.caisse.dao.ProductInventModel;
import com.patrick.caisse.dao.ProductModel;
import com.patrick.caisse.framework.Manager;
 
 
public class ProductManager extends Manager {
 
	private static Logger logger = Logger.getLogger(ProductManager.class);
 
	String sessionListKey = "listProduct";
	String sessionListSearchKey = "SeachKeyWords";
	String sessionBeanKey = "beanProduct";
	String sessionBeanInventKey = "beanInventProduct";
	String sessionCategoryList = "sessionCategoryList";
	String sessionBeanMesure = "beanMesureList";
	String sessionBeanFournisseurs = "beanFournisseursList";
	String sessionListModif = "listModif";
	ListKeyWordsBean Keybean = new ListKeyWordsBean();	
 
	public ActionForward list(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		if (request.getSession().getAttribute(sessionListKey) == null) {
 
			ProductBean bean = new ProductBean();
			bean.setName(Keybean.getNom());
			bean.setCategorie(Keybean.getCategorie());
			bean.setFournisseurNom(Keybean.getFournisseur());
			bean.setDescription(Keybean.getDescription());
			bean.setNumero(Keybean.getNumero());
			bean.setCodeFOurn(Keybean.getCodeFourni());	
			List list = ProductModel.getAllProducts(bean);
 
 
			request.getSession().setAttribute(sessionListKey, list);
		}
		request.setAttribute("test", request.getSession().getAttribute(
				sessionListKey));
		request.setAttribute(sessionListSearchKey, Keybean);	
		return mapping.findForward("list");
	}
Finalement, le web.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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
<?xml version="1.0" encoding="ISO-8859-1"?>
 
<!-- <!DOCTYPE web-app -->
<!--   PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" -->
<!--   "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd"> -->
 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
 
 
	<display-name>PatrickApplication</display-name>
 
 
	<servlet>
		<servlet-name>Log4jInit</servlet-name>
		<servlet-class>com.patrick.caisse.framework.Log4jInit</servlet-class>
		<init-param>
			<param-name>log4j-init-file</param-name>
			<param-value>/log4j.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
	</servlet>
 
	<servlet>
		<servlet-name>Init</servlet-name>
		<servlet-class>com.patrick.caisse.framework.Init</servlet-class>
		<load-on-startup>2</load-on-startup>
	</servlet>
 
	<!-- Standard Action Servlet Configuration (with debugging) -->
	<servlet>
	<servlet-name>action</servlet-name>
	<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
	<init-param>
	<param-name>config</param-name>
	<param-value>/WEB-INF/struts-config.xml</param-value>
	</init-param>
	<init-param>
	<param-name>debug</param-name>
	<param-value>3</param-value>
	</init-param>
	<init-param>
	<param-name>detail</param-name>
	<param-value>2</param-value>
	</init-param>
	<load-on-startup>3</load-on-startup>
	</servlet>
 
 
	<servlet-mapping>
	<servlet-name>action</servlet-name>
	<url-pattern>*.htm</url-pattern>
	</servlet-mapping>
 
 
	<!-- The Usual Welcome File List -->
	<welcome-file-list>
	<welcome-file>index.htm</welcome-file>
	</welcome-file-list>
 
 
	<!-- Struts Tag Library Descriptors -->
<jsp-config>
	  <taglib>
	    <taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri>
	    <taglib-location>/WEB-INF/tld/c.tld</taglib-location>
	  </taglib>
	  <taglib>
	    <taglib-uri>http://java.sun.com/jsp/jstl/fmt</taglib-uri>
	    <taglib-location>/WEB-INF/tld/fmt.tld</taglib-location>
	  </taglib>
 
	<taglib>
	<taglib-uri>/tags/struts-bean</taglib-uri>
	<taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
	</taglib>
 
	<taglib>
	<taglib-uri>/tags/struts-html</taglib-uri>
	<taglib-location>/WEB-INF/struts-html.tld</taglib-location>
	</taglib>
 
	<taglib>
	<taglib-uri>/tags/struts-logic</taglib-uri>
	<taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
	</taglib>
 
	<taglib>
	<taglib-uri>/tags/struts-nested</taglib-uri>
	<taglib-location>/WEB-INF/struts-nested.tld</taglib-location>
	</taglib>
 
	<taglib>
	<taglib-uri>/tags/struts-tiles</taglib-uri>
	<taglib-location>/WEB-INF/struts-tiles.tld</taglib-location>
	</taglib>
 
	   <taglib>
	      <taglib-uri>/tags/displaytag</taglib-uri>
	      <taglib-location>/WEB-INF/displaytag-12.tld</taglib-location>
	   </taglib>
 </jsp-config>	
 
 
</web-app>