struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dynamicd <dhaval.par...@gmail.com>
Subject Re: Struts 2 And JFreeChart
Date Wed, 06 Aug 2008 23:00:29 GMT


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 <dhaval.parekh@gmail.com> 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: user-unsubscribe@struts.apache.org
>> For additional commands, e-mail: user-help@struts.apache.org
>> 
>> 
>> 
> 
> 

-- 
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: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Mime
View raw message