ExternalContextの機能アップ
Seasar2.4からServlet APIに直接依存しないように、ExternalContextが提供されますが、request, session, application, cookie, request.headerなどにアクセスするときは、Map経由でアクセスできるようになります。使い方は、JSFと同じです。例えば、web.xmlの初期化パラメータにアクセスしたいときは次のようにします。
これまでと同様、request, session, servletContextに直接アクセスしたい場合は、次のようにします。
class ... {
private Map initParam;public void setInitParam(Map initParam) {
this.initParam = initParam;
}public void hoge() }
String aaa = (String) initParam.get("aaa");
...
}
}
以前でも、モックを使って、簡単にテストできましたが、これでより簡単にテストできるようになります。
class ... {
private ServletContext application;public void setApplication(ServletContext application) {
this.application = application;
}public void hoge() }
String aaa = (String) application.getInitParameter("aaa");
...
}
}