MyFacesGenericPortlet

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

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に入れる必要はないのだろうか・・・。そもそもなぜ、そこに行くのかを考える必要もあるが。

dataTable&dataScroller

大量のデータをテーブル表示したいのだが、dataTableに普通にListで渡すと、OutOfMemory になる・・・。当然だけど・・・。必要なものだけを渡すようなListを実装する必要があるのかな・・・。っていうか、こんなもの誰か作っていそうな気もするんだけど・・・。どっかにないかな・・・。