ひがやすを技術ブログ

電通国際情報サービスのプログラマ

ExternalContextの機能アップ

Seasar2.4からServlet APIに直接依存しないように、ExternalContextが提供されますが、request, session, application, cookie, request.headerなどにアクセスするときは、Map経由でアクセスできるようになります。使い方は、JSFと同じです。例えば、web.xmlの初期化パラメータにアクセスしたいときは次のようにします。


class ... {
private Map initParam;

public void setInitParam(Map initParam) {
this.initParam = initParam;
}

public void hoge() }
String aaa = (String) initParam.get("aaa");
...
}
}

これまでと同様、request, session, servletContextに直接アクセスしたい場合は、次のようにします。

class ... {
private ServletContext application;

public void setApplication(ServletContext application) {
this.application = application;
}

public void hoge() }
String aaa = (String) application.getInitParameter("aaa");
...
}
}

以前でも、モックを使って、簡単にテストできましたが、これでより簡単にテストできるようになります。