Bonjour tout le monde, j'essaye d'utiliser rich:paint2d afin de générer une image 2d (un histogramme en réalité).
J'ai suivit les consignes de JBoss http://www.jboss.org/file-access/def...l/paint2D.html mais a chaque fois et après de nombreux testes il me retourne la même erreur qui n'est pas référencés sur google. Je précis que j'ai réussit une fois à le faire marcher correctement (par magie) et je suis incapable de retrouver cette formule magique.
voici tous les objets intervenant:
la jsp
la classe java de dessin (qui correspond au paintBean.java dans l'exemple)
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 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <%@taglib uri="http://java.sun.com/jsf/html" prefix="html"%> <%@taglib uri="http://java.sun.com/jsf/core" prefix="core"%> <%@taglib uri="http://richfaces.org/a4j" prefix="a4j"%> <%@taglib uri="http://richfaces.org/rich" prefix="rich"%> <%@taglib uri="http://sourceforge.net/projects/jsf-comp/acegijsf" prefix="acegijsf"%> <html> <body> <core:view> <html:form> <core:loadBundle basename="com.langue.tableaudebord" var="tdb" /> <%@ include file="/pages/entete.jsp"%> <%@ include file="/pages/parametrestilisateur.jsp"%> <rich:dataGrid value="#{BeanTableauDeBord.listDepartement}" var="periodique" columns="3"> <rich:panel bodyClass="pbody"> <core:facet name="header"> <html:outputText value="#{tdb.departement} #{periodique.nom}" /> </core:facet> <br/> <rich:paint2D paint="#{BeanDessin.paint}" data="#{periodique.donnees}" format="png" cacheable="false"/> <html:inputTextarea value="#{periodique.resumer}" readonly="false"/> <br> <html:commandButton value="#{tdb.modification}" action="#{BeanTableauDeBord.changerResumer}"> <core:setPropertyActionListener value="#{periodique}" target="#{BeanTableauDeBord.selectionInputText}"/> </html:commandButton> </rich:panel> </rich:dataGrid> <%@ include file="/pages/piedPage.jsp"%> </html:form> </core:view> </body> </html>
Je précise qu'il plante avant même d'accéder à cette classe et qu'elle est déclaré dans le face-config
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 package com.fonction.dessin; import java.awt.Graphics2D; public class BeanDessin { public void paint(Graphics2D g2, Object obj) { DonneeDessin data = (DonneeDessin) obj; g2.drawRect(0, 0, data.Width, data.Height); } }
la classe de données (qui est definie dans la classe périodique)
Cette classe ne semble pas planter car ma jsp la lie parfaitement
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 package com.fonction.dessin; import java.io.Serializable; import com.modele.donnees.Periodique; public class DonneeDessin implements Serializable { private static final long serialVersionUID = 1L; Integer Width=100; Integer Height=50; private Periodique periodique; public DonneeDessin(Periodique per) { this.periodique = per; } }
et biensur la trace de la pile:
Si quelqu'un pouvait me sauver la vie. En attendant je continu a chercher, je vais bien la retrouver cette formule magique pour le faire marcher.
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 GRAVE: "Servlet.service()" pour la servlet Faces Servlet a généré une exception java.lang.NullPointerException at org.richfaces.renderkit.html.Paint2DResource.isCacheable(Paint2DResource.java:81) at org.ajax4jsf.resource.InternetResourceService.serviceResource(InternetResourceService.java:164) at org.ajax4jsf.resource.InternetResourceService.serviceResource(InternetResourceService.java:141) at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:500) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265) at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107) at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:124) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) at org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:81) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) at org.acegisecurity.ui.logout.LogoutFilter.doFilter(LogoutFilter.java:110) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249) at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149) at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 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:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:613)![]()
Partager