1

以下のコードスニペットは、私が使用しているものです。

ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
  Map<String, Object> sessionMap = externalContext.getSessionMap();
  sessionMap.put("User",user);

プレーンな「サーブレット」から「sessionMap」-「キー」値を取得するにはどうすればよいですか?このようなコードは(User)session.getAttribute("User");、私のサーブレットからもしかしたら動作しますか?

4

1 に答える 1

5

サーブレット内では、リクエスト / セッション / アプリケーション属性はdoGet(HttpServletRequest request, HttpServletResponse response)/doPost(HttpServletRequest request, HttpServletResponse response)メソッド内から利用できます。

//request attributes
String string = (String)request.getAttribute("username");
//session attributes
String string = (String)request.getSession().getAttribute("username");
//application attributes
String string = (String)getServletContext().getAttribute("beanName");

によって要求が処理されたFacesServlet場合、属性は次のように使用できます。

//request attributes
String string = (String)FacesContext.getCurrentInstance().getExternalContext().getRequestMap().get("username");
//session attributes
String string = (String)FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("username");
//application attributes
String string = (String)FacesContext.getCurrentInstance().getExternalContext().getApplicationMap().get("username");

推奨読書

于 2013-02-25T11:05:12.377 に答える