Hi Heather,
it sounds like you are not instantiating any nested beans to store the request parameters in. You should do this in your reset method.




Adam

On 08/27/2003 08:31 PM Heather Buch wrote:
I am trying to figure out what happens to the value of my nested checkbox when
I submit my form.

I have a bean:

public class FagDTO {

with setter/getter methods for a boolean:

        //for fagtypeform
    public void setEkstraTekst ( boolean ekstra_tekst ){
                logger.info("setting ekstra tekst to " + ekstra_tekst + " for " +
this.getEkskode());
                _ekstra_tekst = ekstra_tekst;
    }

    public boolean getEkstraTekst (){
        return _ekstra_tekst;
    }

I have an ActionForm with setters/getters which return a collection of "Fag"
beans (The above "FagDTO" beans are nested one-to-one in the "Fag" beans. Fag
means "class" in Danish BTW):

public class FagTypeForm extends ActionForm {

protected List _fags = new ArrayList();

public void setFags(Fag[] fags) {
                for (int i = 0; i < fags.length; i++) {
                        logger.info("setting fag property " +
fags[i].getFagDetail().getEkstraTekst() + " for fag " +
fags[i].getFagDetail().getNavn());
                        _fags.add(i, fags[i]);
                }
        }

        public void setFags(int n, Fag fag) {
                        logger.info("setting fag at " + n);
                _fags.add(n, fag);
        }


public List getFags() { return _fags; }

        public void reset(ActionMapping mapping, HttpServletRequest request) {
        logger.info("calling reset");

Iterator fagiter = _fags.iterator();
while (fagiter.hasNext()) {
Fag myfag = (Fag)fagiter.next();
FagDTO myfagdetail = myfag.getFagDetail();
myfagdetail.setEkstraTekst(Boolean.FALSE);
}
resetFields(); }
}


Then I have my jsp:

<html:form action="/fagTypeSave">
<!-- cycle over rows of ekskoder -->
<logic:iterate property="fags" name="fagtypeform" id="fager" indexId="indx"> <nested:text indexed="true" name="fager" property="fagDetail.navn" />
<nested:checkbox indexed="true" name="fager" property="fagDetail.ekstraTekst" />
</logic:iterate>


(submit button stuff...)

</html:form>

My html form gets populated from fagtypeform just fine, and reset seems to
work. But when I change some checkbox values and submit, nothing happens. At
least, the setters/getters of my "FagDTO"
bean don't get hit and print out logging stuff, like I had hoped. And the
value in my bean doesn't change.


So my real question is: what is the "property" of nested:checkbox doing? How
can I get nested:checkbox to set the value in my FagDTO when I submit it?


Thanks,

Heather Buch



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



-- struts 1.1 + tomcat 4.1.27 + java 1.4.2 Linux 2.4.20 RH9


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to