I'm having trouble with something that seems very simple.  Here is my
ActionBean


package ....action;

import net.sourceforge.stripes.action.RedirectResolution;
import net.sourceforge.stripes.action.Resolution;
import net.sourceforge.stripes.action.UrlBinding;
import net.sourceforge.stripes.action.DefaultHandler;
import net.sourceforge.stripes.action.DontValidate;
import net.sourceforge.stripes.action.HandlesEvent;

import ....pojo.ImgCal;
import ....service.DailyDataImageService;

import org.apache.log4j.Logger;


@UrlBinding("/DailyData.action")
public class DailyDataActionBean extends W2BActionBean {
    private static final Logger logger =
Logger.getLogger(DailyDataActionBean.class);

    private DailyDataImageService imgService = new DailyDataImageService();

    private ImgCal imgCal;

    private int curMonth;
    private int prevCurMonth;
    private int curYear;

    public int getCurMonth() {
        return curMonth;
    }

    public void setCurMonth(int curMonth) {
        this.curMonth = curMonth;
    }

    public int getCurYear() {
        return curYear;
    }

    public void setCurYear(int curYear) {
        this.curYear = curYear;
    }

    public ImgCal getImgCal() {
        logger.debug("GET IMG CAL: ");
        if(this.imgCal == null) {
            logger.debug("NULL!");
            this.imgCal = imgService.getImageCalendar(getCurMonth(),
getCurYear());
        }
        return imgCal;
    }

    public void setImgCal(ImgCal imgCal) {
        this.imgCal = imgCal;
    }

    public int getPrevCurMonth() {
        return prevCurMonth;
    }

    public void setPrevCurMonth(int prevCurMonth) {
        this.prevCurMonth = prevCurMonth;
    }


    @DontValidate
    @DefaultHandler
    public Resolution view() {
        logger.debug("VIEW BEING CALLED");
        this.curMonth = imgService.getCurMonth();
        this.curYear = imgService.getCurYear();
        this.prevCurMonth = imgService.getCurMonth();

        this.imgCal = imgService.getImageCalendar(getCurMonth(),
getCurYear());

        logger.debug("IMG CAL: " + getImgCal().getMonthHeader());
        return new RedirectResolution("/DailyData.jsp");
    }

    @HandlesEvent("update")
    @DontValidate
    public Resolution update() {
        logger.debug("In Update: month " + getCurMonth() + " year " +
getCurYear());
        imgCal = imgService.getImageCalendar(getCurMonth(), getCurYear());
        prevCurMonth = curMonth;
        return new RedirectResolution("/DailyData.jsp");
    }
}

When the action is called, view() is called correctly.  The imgCal is then
built correctly (I print it out to verify) and then the resolution to the
jsp works right.  However, once getImgCal() is called from the jsp, imgCal
is then null (all my bean parameters are then null).  I don't understand why
everything is null after I've initialized them in view().  If I reinitialize
everything inside their getters then everything works correctly, but this is
extremely inefficient as it takes a long time to build imgCal.  I've also
tried using the StripesStuff plugin and the @Session notation, with the same
result.  Is there something I'm missing?  This seems like this should be
very basic functionality.  I have other actions that work, so to my
knowledge, I don't think the problem is with my web.xml or setup in
general.  Any ideas?
------------------------------------------------------------------------------
_______________________________________________
Stripes-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/stripes-users

Reply via email to