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]