struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Milan Milanovic <milanmilanov...@yahoo.com>
Subject Re: Struts 2 And JFreeChart
Date Thu, 21 Aug 2008 15:37:02 GMT

Hi,

do I need to have this "p" (String type) parameter in my action class ?

--
Thx, Milan


dynamicd wrote:
> 
> 
> 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 <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-tp18740589p19091326.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