MyFacesGenericPortlet

PALから提供する0.4-SNAPSHOTでは、request.getPortletSession().getAttribute(CURRENT_FACES_CONTEXT)がnullのときもnonFacesRequest(request, response)に行くように修正。この問題は、ポータルサーバーによって起きるような。J2だと、J2を再起動して、ログインするとたまに起きる気がする。レンダーパラメータの管理方法の問題かもしれないな。

MyFaces’s HtmlInputFileUpload

MyFaces 1.1.0 を使っていて、ファイルアップロードコンポーネントを使おうと思ったら、「Undefined component type HtmlInputFileUpload」って言われた・・・。うーん、どこが悪いのかな、と考え、詳しくみていくのも面倒なので、とりあえず、1.1.1 にバージョンアップ。そしたら、動いた。1.1.0 は使わない方がいいのか・・・。

MyFacesGenericPortlet

facesRenderで、

if ( (viewId == null) || sessionTimedOut(request) )
{
setPortletRequestFlag(request);
nonFacesRequest(request, response);
return;
}
setPortletRequestFlag(request);
try
{
ServletFacesContextImpl facesContext = (ServletFacesContextImpl) request.getPortletSession().getAttribute(
CURRENT_FACES_CONTEXT);
// TODO: not sure if this can happen.  Also double check this against spec section 2.1.3
if (facesContext.getResponseComplete())
return;

と言う感じの部分があるけど、

request.getPortletSession().getAttribute(CURRENT_FACES_CONTEXT)

が null の場合が発生するようだが・・・。

if ( (viewId == null) || sessionTimedOut(request) )

で、ついでに null かどうかを確認して、nonFacesRequestに入れる必要はないのだろうか・・・。そもそもなぜ、そこに行くのかを考える必要もあるが。