Details
-
Task
-
Status: Patch Available
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
-
sobryan_portlet-bridge-3.0.0 branch
Description
On MYFACES-2665 we got an error report that JSPs are not working with legacy ViewHandler implementations. After some digging on the issue I found out that VDL.buildView() is never called, because getViewDeclarationLanguage() returns null on a legacy ViewHandler. However this has to be called in order to work properly, so I committed a solution that memorizes if VDL.buildView() has been called and if not, it calls it from VDL.renderView() before the real rendering happens (see [1] for details). This solves the problem.
However some code I had to change is from shared and is also used by the Portlet Bridge (JspViewDeclarationLanguageBase). So in order to work properly, PortletJspViewDeclarationLanguageImpl has to call super.buildView() in its buildView() method to do the "memorizing" (just as JspViewDeclarationLanguage does). Otherwise buildView() will be called twice on PortletJspViewDeclarationLanguageImpl.
Attachments
Attachments
Issue Links
- is related to
-
MYFACES-2665 Legacy ViewHandler doesn't work in back compatibility mode for JSP pages
- Closed