2012-08-27 179 views
0

我已經在我的項目Struts2.0的,我通過工具存儲的用戶名在會議SessionAware做如下如下訪問會話變量

public class NewProduct extends ActionSupport implements SessionAware{ 
private Map session; 
public String execute() { 
session.put("username", "Rangappa"); 
return "success" 
} 

public void setSession(Map session) { 
    this.session = session; 

} 
public Map getSession() { 
    return session; 
    } 

我在這裏設置會話變量,即時沒有得到如何獲得其他類此會話變量, 我按以下步驟進行,但它不工作

public class NewProduct extends ActionSupport implements SessionAware{ 
public String execute() throws Exception { 
String username = (String) session.get("username"); 
System.out.println("username: "+username); 
    return "success" 
} 
} 

兩個類都在同一個包,請讓我知道的解決方案,謝謝,我提前

+0

您在獲取它時面臨什麼問題? –

+2

他們是兩個不同的班級嗎? (都被命名爲'NewProduct' ...) – Pigueiras

+0

@ UmeshAwasthi看起來你是對的,我不熟悉'SessionAware'界面,它應該是靈活的,我的答案是毫無意義的,我現在將它刪除 – Jaiwo99

回答

0

導入相應的包後使用此代碼

Map session = ActionContext.getContext().get("session"); 
String userName = (String)(session.get("username")); 
+0

'SessionAware'是獲取會話的最好方式。 'ActionContext'中有'getSession()'方法。 –