got it to work.. could not stop the caching so added a param to the src
img src="/Dashboard/DisplayChart.action?p=<%=request.getParameter("RANDOM")%>" / dynamicd wrote: > > I have tried > <% > response.setHeader("Cache-Control", "no-cache"); //HTTP 1.1 > response.setHeader("Pragma", "no-cache"); //HTTP 1.0 > response.setDateHeader("Expires", 0); //prevents caching at the proxy > server > > %> > > as well.. > > > > newton.dave wrote: >> >> --- 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] >> >> >> > > -- View this message in context: http://www.nabble.com/Struts-2-And-JFreeChart-tp18740589p18861176.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]