LookupUtil Error looking up property
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:
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:
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:
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:
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:
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:
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> |