diff --git a/spring-faces/src/main/java/org/springframework/faces/mvc/JsfView.java b/spring-faces/src/main/java/org/springframework/faces/mvc/JsfView.java index d2d46f34..5da24033 100644 --- a/spring-faces/src/main/java/org/springframework/faces/mvc/JsfView.java +++ b/spring-faces/src/main/java/org/springframework/faces/mvc/JsfView.java @@ -61,7 +61,7 @@ public class JsfView extends AbstractUrlBasedView { ViewHandler viewHandler = facesContext.getApplication().getViewHandler(); - if (JsfUtils.isAtLeastJsf12()) { + if (JsfUtils.isAtLeastJsf12() && !JsfUtils.isPortlet(facesContext)) { viewHandler.initView(facesContext); } diff --git a/spring-faces/src/main/java/org/springframework/faces/webflow/JsfUtils.java b/spring-faces/src/main/java/org/springframework/faces/webflow/JsfUtils.java index dad820b0..c65e4770 100644 --- a/spring-faces/src/main/java/org/springframework/faces/webflow/JsfUtils.java +++ b/spring-faces/src/main/java/org/springframework/faces/webflow/JsfUtils.java @@ -82,4 +82,8 @@ public class JsfUtils { public static boolean isAtLeastJsf12() { return JSF_12; } + + public static boolean isPortlet(FacesContext context) { + return context.getExternalContext().getContext().getClass().getName().contains("Portlet"); + } } diff --git a/spring-faces/src/main/java/org/springframework/faces/webflow/JsfViewFactory.java b/spring-faces/src/main/java/org/springframework/faces/webflow/JsfViewFactory.java index 66f83028..306570a2 100644 --- a/spring-faces/src/main/java/org/springframework/faces/webflow/JsfViewFactory.java +++ b/spring-faces/src/main/java/org/springframework/faces/webflow/JsfViewFactory.java @@ -78,7 +78,7 @@ public class JsfViewFactory implements ViewFactory { String viewName = resolveViewName(context); ViewHandler viewHandler = facesContext.getApplication().getViewHandler(); - if (JsfUtils.isAtLeastJsf12()) { + if (JsfUtils.isAtLeastJsf12() && !JsfUtils.isPortlet(facesContext)) { viewHandler.initView(facesContext); }