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> <img src="/MyApp/user/DrawChart_display.action" alt="No Chart Image" /> </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"> <param name="width">400</param> <param name="height">300</param> </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 <param name="value">chart</param> public JFreeChart getChart() { return chart; } /** * <p> input action */ public String input() throws Exception { return INPUT; } ] Leena