Salut,
Je veux récuperer une image stocké dans ma base de données et l'afficher sur ma page JSP avec struts mais je ne sais pas comment faire. Quelqu'un aura t'il une petite idée.
Merci.
Salut,
Je veux récuperer une image stocké dans ma base de données et l'afficher sur ma page JSP avec struts mais je ne sais pas comment faire. Quelqu'un aura t'il une petite idée.
Merci.
Il faudrai que tu consider cette image comme un fichier regarde ici ça te donnera peut etre une idée : http://java.developpez.com/faq/struts/?page=files
en fait dans ma table j'ai déclaré une colonne de type BLOB, ensuite dans mon bean de formulaire aussi j'ai déclaré un attribut de type blob et ensuite je poursui en utilisant ce type comme n'importe quel autre type (String par exemple) mais ça ne marche pas.
Avec des exemples de codes, ca sera plus simple je pense.
Effectivement, tu as raison.
** Voici le cose de recuperation dans ma page JSP :
** bean de formulaire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <logic:iterate id="Meteo" name = "METEO" property = "contenuMeteo"> <bean:write name="Meteo" property="etatProduction"/> </logic:iterate>
** le javabean correspondant :
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 public class MeteoForm extends ActionForm{ private Blob etatProduction = null; private String commentaire = null; public Blob getEtatProduction() { return etatProduction; } public void setEtatProduction(Blob etatProduction) { this.etatProduction = etatProduction; } public String getCommentaire() { return commentaire; } public void setCommentaire(String commentaire) { this.commentaire = commentaire; } }
** Dans ma base j'ai une table meteo avec deux colonnes etatProduction de type Blob et commentaie de type varchar.
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 public class Meteo implements Serializable{ private Blob etatProduction; private String commentaire = null; //private String nomMeteoSuppr = null; /** Creates a new instance of Meteo */ public Meteo() { } public Meteo(Blob etatProduction,String commentaire){ this.etatProduction = etatProduction; this.commentaire = commentaire; } //getters & setters public Blob getEtatProduction() { return etatProduction; } public void setEtatProduction(Blob etatProduction) { this.etatProduction = etatProduction; } public String getCommentaire() { return commentaire; } public void setCommentaire(String commentaire) { this.commentaire = commentaire; } public ActionForward insertion(ActionMapping mapping, Connection cnx) throws SQLException{ PreparedStatement pstmt; try{ pstmt=cnx.prepareStatement("insert into meteo (etatProduction, commentaire) values (?,?)"); pstmt.setBlob(1, etatProduction); pstmt.setString(2, commentaire); pstmt.executeUpdate(); cnx.commit(); return mapping.findForward("success"); }catch(Exception e){ cnx.rollback(); return mapping.findForward("erreur"); }finally{ cnx.close(); } } }
Voila et merci d'avance.
Je met la log des erreurs que me fait sortir Tomcat, je suis debutant en struts donc je n'arrive pas à voir c'est quoi exactement l'erreur![]()
java.lang.IllegalArgumentException: Cannot invoke fr.edit.eni.actionform.MeteoForm.setEtatProduction - argument type mismatch org.apache.commons.beanutils.PropertyUtilsBean.invokeMethod(PropertyUtilsBean.java:1778) org.apache.commons.beanutils.PropertyUtilsBean.setSimpleProperty(PropertyUtilsBean.java:1759) org.apache.commons.beanutils.PropertyUtilsBean.setNestedProperty(PropertyUtilsBean.java:1648) org.apache.commons.beanutils.PropertyUtilsBean.setProperty(PropertyUtilsBean.java:1677) org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:1022) org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:811) org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:298) org.apache.struts.util.RequestUtils.populate(RequestUtils.java:493) org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:805) org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:203) org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194) org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) javax.servlet.http.HttpServlet.service(HttpServlet.java:709) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)
Pour afficher des images a partir de blob il faut passer par une servlet qui renvoi un mime type cohérent (gif, jpg, ....)
Pour ce faire il lire le blob et ecrire le résultat dans l'output stream de la servlet
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager