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]