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 19:53:33 GMT

Also tried implementing the SessionAware. However the same thing.



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;
>>     }
>> 
>> ]
>> 
>> 
>> 
>> Leena
>> 
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/Struts-2-And-JFreeChart-tp18740589p18858354.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