PALから提供する0.4-SNAPSHOTでは、request.getPortletSession().getAttribute(CURRENT_FACES_CONTEXT)がnullのときもnonFacesRequest(request, response)に行くように修正。この問題は、ポータルサーバーによって起きるような。J2だと、J2を再起動して、ログインするとたまに起きる気がする。レンダーパラメータの管理方法の問題かもしれないな。
カテゴリー: JSF
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を実装する必要があるのかな・・・。っていうか、こんなもの誰か作っていそうな気もするんだけど・・・。どっかにないかな・・・。