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"
 }
}

両方のクラスが同じパッケージに含まれています。解決策を教えてください。よろしくお願いします。

4

1 に答える 1

0

適切なパッケージをインポートした後にこのコードを使用してください

Map session = ActionContext.getContext().get("session");
String userName = (String)(session.get("username"));
于 2015-06-04T11:02:14.093 に答える