[
https://issues.jboss.org/browse/JBSEAM-5127?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
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
_______________________________________________
seam-issues mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/seam-issues