--- On Wed, 8/6/08, dynamicd <[EMAIL PROTECTED]> wrote: > Also tried implementing the SessionAware. However the same thing.
Why? Did you try setting the headers for not caching? Dave > dynamicd 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; > >> } > >> > >> ] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]