spring mvcにログインしたユーザ情報の転送
1949 ワード
原理:
1セッションを使用してユーザ情報を伝達する
2セット側、Model.set Attributeで書き込みます.
@Session Attribute(FIXME)を追加します.
3 get方は、Session.get Attributeで獲得します.
「spring mvc学習ガイド」(林儀明などの翻訳、50ページ目)によれば、各要求処理方法には複数の異なる種類のパラメータがあり、HttpSessionオブジェクトが必要であれば、パラメータとしてHttpSessionを追加することができます.
コード例
セットの例
1セッションを使用してユーザ情報を伝達する
2セット側、Model.set Attributeで書き込みます.
@Session Attribute(FIXME)を追加します.
3 get方は、Session.get Attributeで獲得します.
「spring mvc学習ガイド」(林儀明などの翻訳、50ページ目)によれば、各要求処理方法には複数の異なる種類のパラメータがあり、HttpSessionオブジェクトが必要であれば、パラメータとしてHttpSessionを追加することができます.
コード例
セットの例
/**
* Controller
*/
@Controller
@SessionAttributes("username")
public class LoginController extends BaseController {
public static boolean isValidate=false;
/**
*
*/
/**
* ,
*/
@RequiresUser
@RequestMapping(value = "")
public String index(HttpServletRequest request, final HttpServletResponse response,Model model) {
User user = UserUtils.getUser();
// ,
if (user.getId() == null) {
return "redirect:" + "/login";
}
//
model.addAttribute("username", user.getName());
return "modules/sys/sysIndex";
}
一つのページでゲットした例
@RequiresPermissions("sys:user:edit")
@RequestMapping(value = "save")
public String save(Work work,
HttpServletRequest request, Model model,
RedirectAttributes redirectAttributes, HttpSession session) {
// , LoginController.java:index()
String username = (String)session.getAttribute("username");
if(username.isEmpty())
{
}
if (!beanValidator(model, work)) {
return form(work, model);
}
//
//systemService.saveUser(user);
//
//if (user.getLoginName().equals(UserUtils.getUser().getLoginName())) {
// UserUtils.getCacheMap().clear();
//}
addMessage(redirectAttributes, MessageUtils.getInstance()
.getMessage("save.work", " ")+" '"+ work.getWorkName() +"' "+ MessageUtils.getInstance().getMessage("success", " "));
return "redirect:" + "/work/mywork/?repage";
}