java - Losing modelattribute between methods -


this controller works should

@sessionattributes("giveform") @controller public class giveformcontroller {      private persondao personmanager;     private keycardmanager database;     private giveformvalidator validator;      public giveformcontroller() {     }      @autowired     public giveformcontroller(keycardmanager database, persondao personmanager, giveformvalidator validator) {          this.database = database;         this.validator = validator;         this.personmanager = personmanager;     }      @initbinder     protected void initbinder(webdatabinder binder) {         binder.setvalidator(getvalidator());     }      @requestmapping(value = "/give", method = requestmethod.get)     public string give(model model) {         giveform giveform = new giveform();          model.addattribute(giveform);          return "give";     }      @requestmapping(method = requestmethod.post, params = {"continue"})     public string go(@modelattribute("giveform") @valid giveform giveform,             bindingresult result, model model, sessionstatus status, httpservletrequest request) {          string customer = giveform.getcustomer();          if (!customer.isempty()) {             person person = getpersonmanager().findbyuid(customer);              if (person != null) {                 model.addattribute("customername", person.getcn());                 model.addattribute("useridactive", person.isactive());             }         }         if (result.haserrors()) {              return "give";          } else {              return "give-confirm";          }     }      @requestmapping(method = requestmethod.post, params = {"cancel"})     public string cancel(@modelattribute("giveform") giveform giveform, sessionstatus status) {          status.setcomplete();          return "index";      }      @requestmapping(method = requestmethod.post, params = {"ready"})     public string ready(@modelattribute("giveform") giveform giveform, sessionstatus status,           httpservletrequest request, model model) {         system.out.println(giveform.getkeyid());           status.setcomplete();          model.addattribute(giveform);        if(getdatabase().insertgive(giveform, request.getremoteuser())) {         return "success";       }       else {             return "operationfailed";       }     } 

but returns null when getting modelattribute ready-method:

@sessionattributes("takeform") @controller public class xxtakeformcontroller {  private takeformvalidator validator; private keycardmanager database; private persondao ldap;     public xxtakeformcontroller(){     }    @autowired     public xxtakeformcontroller(takeformvalidator validator, keycardmanager database, persondao ldap) {          this.database = database;         this.validator = validator;         this.ldap = ldap;      }      @initbinder     protected void initbinder(webdatabinder binder) {         binder.setvalidator(getvalidator());     }         @requestmapping(value = "/take", method = requestmethod.get)     public string take(model model) {          takeform takeform = new takeform();          model.addattribute(takeform);          return "take";     }      @requestmapping(method = requestmethod.post, params = {"continue"})     public string go(@modelattribute("takeform") @valid takeform takeform,             bindingresult result, model model, sessionstatus status) {          if (result.haserrors()) {         return "take";         }          else {              string criteria = takeform.getcriteria();         if (character.isdigit(criteria.charat(0))) {           // criteria keyid           string customer = getdatabase().getholderof(criteria);           takeform.setcustomer(customer);           person person = getldap().findbyuid(customer);           if (person != null) {             model.addattribute("customername", person.getcn());           }           model.addattribute("customer", customer);           list keys = new arraylist();           keys.add(getdatabase().getkey(criteria));           model.addattribute("keys", keys);         } else {           // criteria userid           takeform.setcustomer(criteria);           model.addattribute("customer", criteria);           model.addattribute("customername", getldap().findbyuid(criteria).getcn());           model.addattribute("keys", getdatabase().getkeysof(criteria));         }      }             return "take-confirm";      }       @requestmapping(method = requestmethod.post, params = {"cancel"})     public string cancel(@modelattribute("takeform") takeform takeform,              sessionstatus status) {          status.setcomplete();          return "index";      }      @requestmapping(method = requestmethod.post, params = {"ready"})     public string ready(@modelattribute("takeform") takeform takeform, sessionstatus             status, httpservletrequest request,model model) {            status.setcomplete();         model.addattribute(takeform);          system.out.println(takeform.getkeyid());             if(getdatabase().executetake(takeform.getkeyid(), request.getremoteuser(), takeform.getnotes())){          return "success";         }         else {             return "operationfailed";         }     } 

it i'm blind to. both ready-methods return same simple view. can borrow eyes me? :)

model.addattribute("key","value"); 

it used set data model in controller. data retrieved in jsp file directly using key name ${key}
data, added model accessed in jsp file directly using ${name}.


Comments

Popular posts from this blog

python - Scipy curvefit RuntimeError:Optimal parameters not found: Number of calls to function has reached maxfev = 1000 -

c# - How to add a new treeview at the selected node? -

java - netbeans "Please wait - classpath scanning in progress..." -