掲示板

Using Primefaces in ICEfaces Portlet?

11年前 に Benjamin Fischer によって更新されました。

Using Primefaces in ICEfaces Portlet?

New Member 投稿: 9 参加年月日: 12/05/14 最新の投稿
Hi everyone,

we are currently using ICEfaces3 to build JSF2 Portlets in Liferay 6.1 and want two selectManyListboxes like this one: Primefaces PickList

Is it supported to use Primefaces in addition to ICEfaces with the Liferay Faces Bridge?

Adding primefaces.jar and its pickList in an ICEfaces portlet always leads to the following error:
ERROR [render_portlet_jsp:154] org.w3c.dom.DOMException: HIERARCHY_REQUEST_ERR: An attempt was made to insert a node where it is not permitted. 
	at org.icefaces.impl.context.DOMResponseWriter.appendToCursor(DOMResponseWriter.java:396)
	at org.icefaces.impl.context.DOMResponseWriter.startElement(DOMResponseWriter.java:259)
	at org.portletfaces.bridge.renderkit.html_basic.BodyRenderer.encodeBegin(BodyRenderer.java:68)
	at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:820)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1755)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1760)
	at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:401)
	at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
	at org.portletfaces.bridge.BridgeImpl.doFacesRequest(BridgeImpl.java:433)
	at org.portletfaces.bridge.GenericFacesPortlet.doView(GenericFacesPortlet.java:181)
	at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:328)
	at javax.portlet.GenericPortlet.render(GenericPortlet.java:233)
	at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:100)
	at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:64)
	at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:93)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
thumbnail
11年前 に Neil Griffin によって更新されました。

RE: Using Primefaces in ICEfaces Portlet?

Liferay Legend 投稿: 2655 参加年月日: 05/07/27 最新の投稿
The ICEfaces DOMResponseWriter is part of a server-side "dom-diff" feature that is unique to ICEfaces. The benefit is that developers don't have to put <f:ajax/> tags throughout their Facelet views in order to determine update zones. The drawback is that other component libraries (like PrimeFaces) may not be compatible with the DOMResponseWriter. This is probably what your encountering with the PrimeFaces p:pickList component tag.
11年前 に Benjamin Fischer によって更新されました。

RE: Using Primefaces in ICEfaces Portlet?

New Member 投稿: 9 参加年月日: 12/05/14 最新の投稿
Thx for your answer.
The automatic dom diff update is one of the features we like from ICEfaces. So that means we have to develop something like that p:pickList on our own. Hopefully we are not encountering more components "missing" in the ICEfaces framework...
thumbnail
11年前 に Neil Griffin によって更新されました。

RE: Using Primefaces in ICEfaces Portlet?

Liferay Legend 投稿: 2655 参加年月日: 05/07/27 最新の投稿
There is an ice-cc:dualList composite component in ICEfaces EE that might be helpful to your use-case.
11年前 に Benjamin Fischer によって更新されました。

RE: Using Primefaces in ICEfaces Portlet?

New Member 投稿: 9 参加年月日: 12/05/14 最新の投稿
Thank you for your hint. Unfortunately we dont have access to ICEfaces EE.
But it looks like the new version get something similar:
ace:list & ace:listControl - single ordered column list, dual column list, or n-column list controls (ICEfaces 3.1.0.BETA1 Release Notes)
thumbnail
11年前 に Neil Griffin によって更新されました。

RE: Using Primefaces in ICEfaces Portlet?

Liferay Legend 投稿: 2655 参加年月日: 05/07/27 最新の投稿
Sounds great emoticon Please let me know if you have any problems with running ICEfaces 3.1.0-BETA1 in the bridge.