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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]