![](/img/trans.png)
[英]I can get property from a session attribute, but not from a session map
[英]sessionAware : How can I get session attribute from action
我想通過一些實現SessionAware
接口的操作來訪問會話屬性;
我想根據登錄用戶的類型執行一些測試,與它相關的信息存儲在會話的屬性中,我可以使用以下代碼在JSP頁面中獲取此屬性:
<s:property value="%{#session['attribute']}"/>
我的LoginAction
:
public class LoginAction extends ActionSupport implements SessionAware {
private static final long serialVersionUID = 1L;
private String userName;
private String password;
private Map<String, Object> session;
private Service service;
Utilisateur user;
// ---------------------------- Log Out register user
public String logOut() {
session.remove("loginId");
session.clear();
addActionMessage("You Have Been Successfully Logged Out");
return SUCCESS;
}
// ---------------------------- Login register user
public String loginRegisterUser() {
service = new ServiceImpl();
user = service.checkUsernamePassword(userName, password);
if (user != null)
{
session.put("loginId", userName);
session.put("mdp", password);
session.put("role", user.getRole().getRole());
return "success";
}
else
{
addActionError("Please Enter Valid emailId or Password");
return LOGIN;
}
}
public void setSession(Map<String, Object> map) {
this.session = map;
}
如何在動作課中獲得它們?
編輯:
我嘗試使用此代碼從其他操作中獲取它:
public class GestionMissions extends ActionSupport implements SessionAware, ModelDriven
{
private Map<String, Object> session;
@Override
public void setSession(Map<String, Object> s) {
this.session = s;
}
public String getsession()
{
String test;
test = (String) session.get("loginId");
System.out.println(test);
return "success";
}
會話變量包含在您通過setSession
方法獲取的映射中,只需調用session.get('attribut')
即可獲取所需的值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.