[
https://issues.jboss.org/browse/JBSEAM-5127?page=com.atlassian.jira.plugi...
]
Ilia Vassilev updated JBSEAM-5127:
----------------------------------
Workaround Description:
This will wrap the buggy SeamNavigationHandler and informs the PartialViewContext about
view-root changes:
{code}
public class WrapNavigationHandler extends ConfigurableNavigationHandler {
private final NavigationHandler baseNavigationHandler;
public PortletNavigationHandler(NavigationHandler navigationHandler)
{
this.baseNavigationHandler = navigationHandler;
}
@Override
public void handleNavigation(FacesContext context, String fromAction, String outcome) {
String oldView = (context.getViewRoot() != null ? context.getViewRoot().getViewId() :
"");
baseNavigationHandler.handleNavigation(context, fromAction, outcome);
if (!oldView.equals(context.getViewRoot().getViewId())) {
PartialViewContext pctx = context.getPartialViewContext();
if (!pctx.isRenderAll()) {
pctx.setRenderAll(true);
}
}
}
...
}
{code}
Workaround: Workaround Exists
SeamNavigationHandler is not JSF2 compliant
-------------------------------------------
Key: JBSEAM-5127
URL:
https://issues.jboss.org/browse/JBSEAM-5127
Project: Seam 2
Issue Type: Bug
Components: JSF Integration
Affects Versions: 2.3.0.Final
Reporter: Ilia Vassilev
From javax.faces.application.NavigationHandler:
{code}
* <p class="changed_added_2_0">This method must set the render
targets
* (used in partial rendering) to <code>render all </code>
* invoking {@link javax.faces.context.PartialViewContext#setRenderAll})
* if the view identifier has changed as the result of an application
* action (to take into account <code>Ajax requests</code>).</p>
public abstract void handleNavigation(FacesContext context,
String fromAction,
String outcome);
{code}
org.jboss.seam.jsf.SeamNavigationHandler doesn't implement it and therefore an
ajax-view-change cannot be detected by PartialViewContext. Result: nothing will be
rendered.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira