我是初學者,春天& java。我如何正確地將UserDetailedInfo模型傳入SessionAttrtibutes以在不同的控制器和不同的jsps中訪問它? 我想創建一個使用spring框架的登錄系統。在參數如何在spring中設置sessionAttributes並在不同的jsps和控制器中訪問它們
//this is my mainpagecontroller.java
@Controller
@SessionAttributes("model")
public class MainPageController{
@RequestMapping(value="/signin", method=RequestMethod.POST)
@ResponseBody
public Map<String, Object> userSignIn(@RequestParam Map<String,String> param, ModelMap sessions) throws UnsupportedEncodingException {
FormHelpers helper = new FormHelpers();
Map<String, Object> resp = new HashMap<String, Object>();
resp.put("status", helper.signIn(param).getError());
sessions.addAttribute("model",resp);
System.out.println(resp);
//System.out.println(info.get);
return resp;
}
}
//formhelpers.java
public UserDetailedInfo signIn(Map<String, String> data) {
Map<String, String> params = new HashMap<String, String>();
SigninModel model = new SigninModel();
model.setEmail(data.get("email"));
model.setPassword(data.get("password"));
params.put("email", model.getEmail());
params.put("password", model.getPassword());
try {
ObjectMapper mapper = new ObjectMapper();
String response = GlobalHelper.callService(RestServicesUrl.SIGNIN_URL, params);
UserDetailedInfo info = mapper.readValue(response, UserDetailedInfo.class);
System.out.println("error"+info.getError());
return info;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
return new UserDetailedInfo();
}
}
//singedinhomepagecontroller.java
@Controller
@RequestMapping(value="/main")
@SessionAttributes("model")
public class SignedInHomePageController
{
@RequestMapping(method=RequestMethod.GET)
@ResponseBody
public ModelAndView displaySignInHomePage(@ModelAttribute FormHelpers model)
{
ModelAndView view = new ModelAndView("homepage");
System.out.println(model.signIn().getEmail()); //unable to access the from session
return view;
}
}
//home.jsp
最好只是在時間添加一個問題。 – jcrada
好吧編輯只問一個問題! – ravi