its some parameter name (the name does not matter) and RANDOM is set in the
controller (Action)
or to make it easy

img src="/Dashboard/DisplayChart.action?p=<%=request.hashCode()%>" /

instead of passing DisplayChart.action each time.
it is passed in as a different url everytime and so it will display the new
image other wise if the url is the same then you will get displayed the
cached image. 



Milan Milanovic wrote:
> 
> I don't understand this solution, what is "p" parameter, and whait is
> "RANDOM" ?
> 
> 
> --
> 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-tp18740589p19091264.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]

Reply via email to