java - Can I add value in a BindingResult before checking Errors in Spring? -
can add value in bindingresult before checking errors in spring?
@initbinder("memberrequest") public void initmemberrequestbinder(webdatabinder binder) { binder.setvalidator(new memberrequestvalidator()); } @preauthorize("isauthenticated()") @requestmapping(value = "/save", method = requestmethod.post) public modelandview saverequest(@valid @modelattribute("memberrequest") memberrequest mr, bindingresult result, httpsession session) { session.setattribute("phone", mr.getphonenumber()); mr.setwelfare((string)session.getattribute("welfare")); mr.setschool((string)session.getattribute("school")); mr.settitle((string)session.getattribute("title")); mr.setdistrict((string)session.getattribute("district")); mr.setname((string)session.getattribute("name")); mr.setfile((string)session.getattribute("file")); mr.setqueue((string)session.getattribute("queue")); mr.setrequestor(getuser()); mr.setschool_id((string)session.getattribute("school_id")); mr.setborough_id((string)session.getattribute("borough_id")); mr.setretiree((string)session.getattribute("retiree")); if (result.haserrors()) { logger.debug("pages had errors on it... returning input page"); return new modelandview("w-question"); } else { i have above code in spring controller issue need take values out of session , move them bindingresult (bean) before validator runs on it..
can done someone? issues of values keep in session.. please me know if can dont , how best way it..
in controler define method creating model atribute , annotate @modelattribute annotation. not modify binding result object validation target , can change validator behavior change binding result need.
@modelattribute("memberrequest") public memberrequest getmemberrequest(httpsession session) { memberrequest mr = new memberrequest(); mr.setwelfare((string)session.getattribute("welfare")); mr.setschool((string)session.getattribute("school")); mr.settitle((string)session.getattribute("title")); mr.setdistrict((string)session.getattribute("district")); mr.setname((string)session.getattribute("name")); mr.setfile((string)session.getattribute("file")); mr.setqueue((string)session.getattribute("queue")); mr.setrequestor(getuser()); mr.setschool_id((string)session.getattribute("school_id")); mr.setborough_id((string)session.getattribute("borough_id")); mr.setretiree((string)session.getattribute("retiree")); return mr; } this method called before binding ocures, have in mind method called before each controler method wich using @modelattribute("memberrequest") parameter.
Comments
Post a Comment