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]