I have the same problem, my chart is created just first time and every time
div which contains img tag
refreshes I always got the first image (it doesn't update) ?!
--
Regards, Milan
dynamicd wrote:
>
>
> 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-tp18740589p19073921.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]