i new spring please forgive me if question seems dumb.
i unable @sessionattributes (along @modelattribute) work in spring controller. doing wrong? here code ...
@controller @sessionattributes("myattribute") public class mycontroller { @modelattribute("myattribute") public string createmysessionattribute() { system.out.println("inside of createmysessionattribute"); return new string("mysessionattribute"); } //...... @requestmapping("/dosomething.do") public modelandview dosomething(httpsession session, httpservletrequest request) { string sessionattribute = (string)session.getattribute("myattribute"); string requestattribute = (string)request.getattribute("myattribute"); string requestsessionattribute = (string)request.getsession().getattribute("myattribute"); system.out.println(" sessionattribute = " + sessionattribute + "; requestattribute = " + requestattribute + "; requestsessionattribute = " + requestsessionattribute ); modelandview modelandview = new modelandview("nextpage"); return modelandview; } } and here output...
inside of createmysessionattribute sessionattribute = null; requestattribute = null; requestsessionattribute = null i expected ...
inside of createmysessionattribute sessionattribute = mysessionattribute; requestattribute = mysessionattribute; requestsessionattribute = mysessionattribute note tried retrieving attribute request, session, , seesion request (which redundant)
thanks
it won't put value session until end of request.
if want use value of myattribute in dosomething method, this:
/* should have been called @writemodelattribute when used */ @modelattribute("myattribute") string writemodelattribute() { return "myattribute value"; } /* should have been called @readmodelattribute when used */ modelandview dosomething(@modelattribute("myattribute") string myattribute) { system.out.println(myattribute); //=myattribute value ... }
Comments
Post a Comment