I am creating a new chart using the ChartFactory chart = ChartFactory.createBarChart (reportname,xaxis, yaxis, dataset, PlotOrientation.VERTICAL, true,true, true);
return chart; and I am storing it in the session. However the DisplayChart.action that is in the image src is not called the second time on. It seems like a caching issue. Leena Borle wrote: > > Hi, > How are you creating new chart object ? For me every time user clicks on > submit-DrawChart_draw,action will create New chart object (e.g. > chart=ChartFactory.createBarChart) and store it in the session which > afterwards is used by DIV(DrawChart_display.action). You need to refresh > your chart object. > Leena > > On Wed, Aug 6, 2008 at 11:36 AM, dynamicd <[EMAIL PROTECTED]> wrote: > >> This is cool.. I tried it out. However once the >> chart_display.jsp is called the first time through the image tag. it does >> not call the DisplayChart.action again to refresh the image with a new >> one >> when clicked on the DrawChart.action. (I added the println statement in >> the >> display method to find out that the div is not refreshing) I have to log >> out and log in (invalidate session) to get the new chart. I am missing >> something >> >> >> >> public String display() throws Exception { >> System.out.println("I AM IN THE DISPLAY NOW "); >> Map attributes = >> ActionContext.getContext().getSession(); >> this.chart = (JFreeChart) attributes.get("CHART"); >> >> if(chart == null) { >> return Constants.FORWARD_INVALIDACTION; >> } >> return Constants.FORWARD_SUCCESS; >> } >> >> >> private void setChart(JFreeChart chart){ >> Map attributes = ActionContext.getContext().getSession(); >> attributes.put("CHART", null); >> this.chart = chart; >> attributes.put("CHART", this.chart); >> } >> >> public JFreeChart getChart() { >> return chart; >> } >> >> >> >> Leena Borle wrote: >> > >> > Hello, >> > See if this helps you. >> > I have a form with remote DIV which displays chart after user clicks >> on >> > submit. >> > Trick here is to generate chart object, store it in session and display >> it >> > in separate JSP. Remove the form part if you want to display just the >> > dynamic-DIV using Chart image. >> > >> > Form.jsp [ >> > <s:form> >> > <s:url id="display_chart" value="DrawChart_draw.action" >> > namespace="/user" /> >> > >> > <s:submit value="Draw chart" href="%{display_chart}" >> > theme="ajax" targets="*chart_div*" /> >> > <br /> >> > </s:form> >> > >> > <h4>Your Running Chart</h4> >> > <div id="*chart_div*"> >> > </div> <!-- End display chart --> >> > </div> >> > >> > ] >> > >> > >> > display_chart.jsp [ >> > <body> >> > >> > /MyApp/user/DrawChart_display.action >> > </body> >> > >> > ] >> > >> > >> > struts.xml[ >> > <package name="user" extends >> > ="struts-default,jfreechart-default"> >> > <!-- Separate method to draw and display due to Remote >> > DIV/Button tag contsraints. >> > --> >> > <action name="DrawChart_input" method="input" >> > class=".xxx.DrawChart"> >> > <result name="input">form.jsp </result> >> > </action> >> > >> > <action name="DrawChart_draw" method="draw" >> > class="xxx..DrawChart"> >> > <result name="success">/jsp/display_chart.jsp >> > </result> >> > </action> >> > <action name="DrawChart_display" method="display" >> > class="xxx.DrawChart"> >> > <result name="success" type="chart"> >> > 400 >> > 300 >> > </result> >> > </action> >> > >> > </package> >> > ] >> > >> > >> > DrawChart.java [ >> > JFreeChart chart; >> > public String draw() throws Exception { >> > //chart creation logic. >> > //generate chart object >> > chart = .... >> > session = .... >> > session.put("CHART", chart); >> > return success; >> > } >> > >> > /** >> > * returns chart obejct from the session. >> > This methos is used by display_chart.jsp >> > */ >> > public String display() throws Exception { >> > session = ...get session ... >> > this.chart = (JFreeChart) session.get("CHART"); >> > if(chart == null) { >> > addActionError(getText("error.nochart")); >> > return ERROR; >> > } >> > return SUCCESS; >> > } >> > >> > // this method will get called if we specify chart >> > public JFreeChart getChart() { >> > return chart; >> > } >> > >> > /** >> > * <p> input action >> > */ >> > public String input() throws Exception { >> > return INPUT; >> > } >> > >> > ] >> > >> > >> > >> > Leena >> > >> > >> >> -- >> View this message in context: >> http://www.nabble.com/Struts-2-And-JFreeChart-tp18740589p18857105.html >> Sent from the Struts - User mailing list archive at Nabble.com. >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > -- View this message in context: http://www.nabble.com/Struts-2-And-JFreeChart-tp18740589p18860659.html Sent from the Struts - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]