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 18:36:33 GMT

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-tp18740589p18857105.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