Problème pour afficher un tableau Struts + Hibernate
Bonjour,
Essayant de me familiariser depuis peu avec Struts associé à Hibernate ou autre frameworks sur la persistance.
Je butte encore sur des choses qui à mon sens me paraissent simples encore de struts.
Si quelqu'un pouvait jeter un coup d'oeil sur mon code et me dire ce qui ne va pas?
Je ne parviens pas à afficher un tableau qui devrait afficher le contenu d'une table. (Utilisation de STRUTS+Hibernate)
Mon message d'erreur tout con est le suivant...
Code:
1 2
|
javax.servlet.jsp.JspException: No getter method for property id_acav of bean MIFetatACAV |
Qu'est ce que j'ai bien pu oublier ou n'avoir pas compris... Enfin pas compris, certainement beaucoup de chose. :oops:
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 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 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194
|
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ taglib uri="http://jakarta.apache.org/struts/tags-html"
prefix="html"%>
<%@ taglib uri="/tags/struts-logic" prefix="logic"%>
<%@ taglib uri="/tags/struts-bean" prefix="bean"%>
<!-- <%@ page import="INTgestiondonnee.produit.metier.entite.MifProduit" %> -->
<SCRIPT LANGUAGE="JavaScript">
Today = new Date;
Jour = Today.getDate();
Mois = (Today.getMonth())+1;
Annee = Today.getFullYear();
Message = Jour + "/" + Mois + "/" + Annee;
</SCRIPT>
<script language="javascript">
function afficherListeFlux(){
document.forms[0].action = "rechercheFlux.do?rechecher=flux";
document.forms[0].submit();
}
function afficherDetailFlux(num){
document.forms[0].action = "rechercheFlux.do?rechecher=flux&numeroFlux="+num;
document.forms[0].submit();
}
function afficherOrder(){
obj = document.getElementById("detailFluxSelected").style;
obj.visibility='hidden';
}
</script>
<head>
<title><bean:message key="title.name"/></title>
<link rel="stylesheet" type="text/css" media="screen" title="1024x768"
href="./styles/MIF_main.css" />
<link rel="stylesheet" type="text/css" media="screen" title="cadre"
href="./styles/MIF_cadre.css" />
<link rel="stylesheet" type="text/css" media="screen" title="menu"
href="./styles/MIF_menu.css" />
<link rel="stylesheet" type="text/css" href="./styles/datepicker.css" />
<script type="text/javascript" src="./scripts/datepicker.js"></script>
<script type="text/javascript" src="./scripts/styleswitcher.js"></script>
<script type="text/javascript" src="./scripts/table.js"></script>
<script type="text/javascript" src="./scripts/script.js"></script>
</head>
<body>
<html:form action="rechercheFlux.do">
<table id='entete' cellpadding='0' cellspacing='0' >
<tr>
<td id='enteteLogo'> </td>
<td colspan='2' id='enteteContext'>Rapprochement>Etat ACAV</td>
<td colspan='2' id='enteteSeDeconnecter'><bean:write name="cartoucheBean" property="name" scope="session" />
<bean:write name="cartoucheBean" property="surName" scope="session" /> \ <a href="/INTCLINFOC/index.jsp"><bean:message key="cartouche.deconnecter"/></a></td>
<td> </td>
</tr>
<tr>
<td rowspan='2' id='enteteNomApplication'><img src='./img/MIF_Fond-Blanc.gif' width='130'/></td>
<td id='typeImport'><nobr><bean:message key="cartouche.dernier.import.actif"/></nobr></td>
<td id='typeImport'><nobr><bean:message key="cartouche.prochain.import.actif"/></nobr></td>
<td id='typeImport'><nobr><bean:message key="cartouche.dernier.import.passif"/></nobr></td>
<td id='typeImport'><nobr><bean:message key="cartouche.prochain.import.passif"/></nobr></td>
<!-- <td> </td> -->
</tr>
<tr>
<td id='heureImport'><bean:write name="cartoucheBean" property="lastImportActif" scope="session" /></td>
<td id='heureImport'><bean:write name="cartoucheBean" property="nextImportActif" scope="session"/></td>
<td id='heureImport'><bean:write name="cartoucheBean" property="lastImportPassif" scope="session"/></td>
<td id='heureImport'><bean:write name="cartoucheBean" property="nextImportPassif" scope="session"/></td>
<!-- <td> </td> -->
</tr>
</table>
<table id="corp">
<tr>
<td id="tdMenu">
<!-- menu -->
<table>
<tr>
<td>
<dl class="background-image border-around">
<div id="cadre">
<dt><bean:message key="menu.passif"/></dt>
<dd><a href="/INTCLINFOC/initRechercheCarnetDOrdres.do"><bean:message key="menu.carnet.ordre"/></a></dd>
<dd><a href=""><bean:message key="menu.recherche.ordre"/></a></dd>
<dd><a href="/INTCLINFOC/rechercheFlux.do"><bean:message key="menu.recherche.flux"/></a></dd>
</div>
<div id="cadre">
<dt><bean:message key="menu.actif"/></dt>
<dd><a href=""><bean:message key="menu.avis.oper"/></a></dd>
</div>
<div id="cadre">
<dt><bean:message key="menu.rapprochement"/></dt>
<dd><a href="/INTCLINFOC/initEtatDesStocks.do"><bean:message key="menu.etat.stocks"/></a></dd>
<dd><a href="/INTCLINFOC/initEtatACAV.do"><bean:message key="menu.etat.acav"/></a></dd>
</div>
<div id="cadre">
<dt><bean:message key="menu.administration"/></dt>
<dd><a href="/INTCLINFOC/initRecherche.do"><bean:message key="menu.utilisateurs"/></a></dd>
<dd><a href="/INTCLINFOC/initRechercheFrequenceImport.do"><bean:message key="menu.frequence.import"/></a></dd>
<dd><a href=""><bean:message key="menu.import.manuel"/></a></dd>
<dd><a href="/INTCLINFOC/initRechercheDonnee.do"><bean:message key="menu.gestion.donnees"/></a></dd>
</div>
</dl>
</td>
</tr>
</table>
<div id="contact">
<table>
<tr><td align="center">
<logic:present name="cartoucheBean" scope="session">
<bean:write name="cartoucheBean" property="name" scope="session" />
<bean:write name="cartoucheBean" property="surName" scope="session" />
</logic:present>
</td></tr>
<tr><td><a href="../index.html"><bean:message key="cartouche.deconnecter"/></a></td></tr>
</table></div>
</td>
<td colspan="4" id="CorpsDyn">
<!-- contenu de la page -->
<div id="CorpsPage">
<div id="legend"> </div>
<div id="legend">Rapprochement ACAV</div>
<div id="legend"> </div>
<div> </div>
<div class="texteVertMarge">Rapprochement ACAV au
<b><SCRIPT LANGUAGE="JavaScript">
document.write(Message);
</SCRIPT></b></div>
<div> </div>
<div> </div>
<div class="texteVertMarge">Date d'import du passif : </div>
<div> </div>
<div class="texteVertMarge">Date d'import de l'actif : </div>
<div> </div>
<div>
<div >
<table class="table-autopage:6 table-page-number:t1page table-page-count:t1pages table-stripeclass:alternative tablelist">
<thead>
<tr class="tdhead">
<td>Numéro</td>
<td>Support</td>
<td>Passif</td>
<td >Actif</td>
<td >En attente</td>
</tr>
<tr class="tdhead">
<td colspan="6"><div "id="legend"> </div></td>
</tr>
</thead>
<tbody>
<logic:iterate id="MIFetatACAV" name="ListEtatACAV" >
<tr>
<td><bean:write name="MIFetatACAV" property="id_acav"/></td>
<td></td>
<bean:write name="MIFetatACAV" property="numero"/></a></td>
<td><bean:write name="MIFetatACAV" property="support"/></td>
<td><bean:write name="MIFetatACAV" property="passif"/></td>
<td><bean:write name="MIFetatACAV" property="actif"/></td>
<td><bean:write name="MIFetatACAV" property="en_attente"/></td>
<td></td>
<td></td>
<td></td>
</tr>
</logic:iterate>
</tbody>
<tfoot>
<tr class="tdhead">
<td colspan="6" style=text-align:center;></td>
</tr>
</tfoot>
</table>
<div id="espace"> </div>
</div>
</div>
</td>
</tr>
</table>
</html:form>
</body> |
action(MifEtatACAVAction.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
|
package INTetatACAV.etatACAV.action;
import intCommunBean.cartouche.MifCartoucheEnteteBean;
import intPresentation.flux.actionForm.MifRechercheFluxActionForm;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import INTetatACAV.etatACAV.actionForm.MifRechercheEtatACAVActionForm;
import INTetatACAV.etatACAV.metier.entite.MIFetatACAV;
import INTetatACAV.etatACAV.metier.manager.MifetatACAVManager;
import INTetatACAV.etatACAV.metier.usecase.MifEtatACAVUC;
import INTutil.HibernateUtil;
import INTcommun.MifUtilitaireUC;
public class MifEtatACAVAction extends Action {
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
// MifRechercheEtatACAVActionForm mifRechercheFEtatACAVActionForm = (MifRechercheEtatACAVActionForm)form;
List listEtatACAVResult = new ArrayList();
Long id_acav=null;
Long numero=null;
String support=null;
Double passif=null;
Double actif=null;
Double en_attente=null;
try{
HttpSession session = request.getSession();
MifUtilitaireUC mifUtilitaireUC = new MifUtilitaireUC();
String [] tabDateImportString = new String[4];
MifCartoucheEnteteBean paramCartouche=(MifCartoucheEnteteBean)session.getAttribute("cartoucheBean");
if(paramCartouche == null){
tabDateImportString = mifUtilitaireUC.getDateImportActifPassif();
// remplir les informations de la cartouche
MifCartoucheEnteteBean mifCartoucheEnteteBean = new MifCartoucheEnteteBean();
mifCartoucheEnteteBean.setLastImportActif(tabDateImportString[0]);
mifCartoucheEnteteBean.setNextImportActif(tabDateImportString[1]);
mifCartoucheEnteteBean.setLastImportPassif(tabDateImportString[2]);
mifCartoucheEnteteBean.setNextImportPassif(tabDateImportString[3]);
mifCartoucheEnteteBean.setName((String)session.getAttribute("name"));
mifCartoucheEnteteBean.setSurName((String)session.getAttribute("surName"));
session.setAttribute("cartoucheBean", mifCartoucheEnteteBean);
}
listEtatACAVResult = MifEtatACAVUC.rechercheEtatACAV(id_acav, numero, support, passif, actif, en_attente);
// Collection listACAV = (Collection)service.getOutpute(MifetatACAVManager.listEtatACAV)
request.setAttribute("ListEtatACAV", listEtatACAVResult);
System.out.println("listEtatACAVResult page action :"+ listEtatACAVResult);
}catch (Exception e){
e.printStackTrace();
return mapping.findForward("Error");
}
// TODO Auto-generated method stub
return mapping.findForward("Succes");
}
} |
entite(MIFetatACAV.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
|
package INTetatACAV.etatACAV.metier.entite;
public class MIFetatACAV {
private Long id_acav;
private Long numero;
private String support;
private Double passif;
private Double actif;
private Double en_attente;
public MIFetatACAV(){}
public MIFetatACAV(Long id_acav, Long numero, String support, Double passif, Double actif, Double en_attente){
super();
this.id_acav = id_acav;
this.numero = numero;
this.support = support;
this.passif = passif;
this.actif = actif;
this.en_attente = en_attente;
}
public Long getId_acav() {
return id_acav;
}
public void setId_acav(Long id_acav) {
this.id_acav = id_acav;
}
public Long getNumero() {
return numero;
}
public void setNumero(Long numero) {
this.numero = numero;
}
public String getSupport() {
return support;
}
public void setSupport(String support) {
this.support = support;
}
public Double getPassif() {
return passif;
}
public void setPassif(Double passif) {
this.passif = passif;
}
public Double getActif() {
return actif;
}
public void setActif(Double actif) {
this.actif = actif;
}
public Double getEn_attente() {
return en_attente;
}
public void setEn_attente(Double en_attente) {
this.en_attente = en_attente;
}
} |
manager(MifetatACAVManager.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
|
package INTetatACAV.etatACAV.metier.manager;
import java.util.ArrayList;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import INTutil.HibernateUtil;
public class MifetatACAVManager {
public List rechercheEtatACAV(Long id_acav, Long numero, String support, Double passif, Double actif, Double en_attente){
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
Transaction trx = session.beginTransaction();
List listEtatACAV = new ArrayList();
String select ="";
String from = "";
String requeteHQL="";
try{
select = " select id_acav as id_acav ,"
+" numero as numero,"
+" support as support,"
+" passif as passif,"
+" actif as actif,"
+" en_attente as en_attente"
;
from = " from MIFetatACAV"
;
requeteHQL = select+from+" order by 1";
Query query = session.createQuery(requeteHQL);
listEtatACAV = query.list();
System.out.println("tete :"+listEtatACAV);
}catch (HibernateException he){
he.printStackTrace();
return null;
}catch (Exception e){
e.printStackTrace();
return null;
}finally{
session.close();
}
return listEtatACAV;
}
} |
usecase (MifEtatACAVUC.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
|
package INTetatACAV.etatACAV.metier.usecase;
import java.util.ArrayList;
import java.util.List;
import INTetatACAV.etatACAV.metier.manager.MifetatACAVManager;
public class MifEtatACAVUC {
public static List rechercheEtatACAV(Long id_acav, Long numero, String support, Double passif, Double actif, Double en_attente){
List listEtatACAV = new ArrayList();
MifetatACAVManager mifEtatACAVManager = new MifetatACAVManager();
List listEtatACAVResult = new ArrayList();
try{
// Appel de la fonction rechercheEtatACAV
listEtatACAV = mifEtatACAVManager.rechercheEtatACAV(id_acav, numero, support, passif, actif, en_attente);
System.out.println("listEtatACAV:"+listEtatACAV);
System.out.println("listEtatACAVResult:"+listEtatACAVResult);
}catch(Exception e){
e.printStackTrace();
return null;
}
return listEtatACAV;
}
} |