voyent
SEVERE: ICEfaces rendering required by icefaces-compat.jar components.  XML
Forum Index -> General Help
Author Message
smlark

Joined: 27/May/2010 14:20:14
Messages: 15
Offline


I'm getting the error above when I try to render an ice:datatable using the ajax render attribute. The error that was returned suggested that I add "Enable via <icecore:config render="true" />". I added it as the first line of the body tag and tried to render the table again but the error still occurs. The table was rendering as expected before I added the ajax tag, but I needed the ajax tag to display the the table whenever there was a ValueChangeEvent. It works as expected when I use the JSf datatable tag, but I want to eventually want to use some of the icefaces features. I have attached the error.


The namespace xmlns:icecore="http://www.icefaces.org/icefaces/core" exists in xhtml page.

Also added:
<context-param>
<param-name>org.icefaces.render.auto</param-name>
<param-value>false</param-value>
</context-param>

and tired it with both the "true" and "false" param-value.
 Filename error.txt [Disk] Download
 Description error file
 Filesize 10 Kbytes
 Downloaded:  245 time(s)

bijurk

Joined: 16/Apr/2012 10:28:53
Messages: 39
Offline


I can confirm that I have the same issue while rendering a FacesMessage from a valuechange listener of ace:textEntry component to a globalMessages div that is outside the current form.

Code:
 		<ace:textEntry id="vehicleVin" tabindex="#{pageComponent.priority}"
 			styleClass="#{component.valid ? 'stdFieldControl' : 'stdFieldControlInv'}" maxlength="17" size="17"
 			value="#{currentVehicle.vin}" labelPosition="left" rendered="#{!(labelOnly)}">
 			<f:attribute name="vehicleNumber" value="#{currentVehicle.vehicleNumber}" />
 			<f:validateLength minimum="17" maximum="17" />
 			<f:validator binding="#{VehicleVINValidator}" for="vehicleVin" />
 			<ace:ajax render="vehicleInfoForm:vehicleDetailPanel#{currentVehicle.vehicleNumber} globalMessages"
 				listener="#{vehicleInfoBean.getPolkVehicleInfo(currentVehicle.vehicleNumber)}" />
 		</ace:textEntry>
 


The global message is defined as:
Code:
 		<icecore:config render="true" />
 		<ice:panelGroup styleClass="globalError" rendered="#{facesUtils.existErrors()}">
 			<div class="globalErrorList">
 				<ice:messages id="globalMessages" rendered="true" globalOnly="true" />
 			</div>
 		</ice:panelGroup>
 


As you can see, I tried to add the recommended render="true", which did not make a difference.

Has anyone been able to resolve this issue?

Thanks,
Biju
philip.breau


Joined: 08/May/2006 00:00:00
Messages: 2989
Offline


The ice components, such as the ice:dataTable are not compatible with JSF Ajax rendering (aka subtree rendering). That's supported in the Ace components. The ace:fileEntry component you're using is probably not the issue, but the ice components probably are. Try changing the ice:panelGroup to an h:panelGroup, and likewise for any other ice components in the view.

Thanks,
Philip

.
bijurk

Joined: 16/Apr/2012 10:28:53
Messages: 39
Offline


Thanks for your reply, Philip.
So, if I have to use ice components (which I do, due to some specific tags that I use), what is the best way to generate messages that can be displayed either by ice:messages or ace:messages.

I did try replacing the ice:messages with ace:messages, but that didn't do it.

Thanks,
Biju
philip.breau


Joined: 08/May/2006 00:00:00
Messages: 2989
Offline


I would suggest using the ace:messages, if possible. Does the problem still occur with that?

.
bijurk

Joined: 16/Apr/2012 10:28:53
Messages: 39
Offline


Yes, it still occurs with ace:messages.

The ace:ajax calls the listener that checks for some info and then adds the global errors by calling the following method with clientId set to null.

Code:
 	public static void addErrorMessage(String clientId, String msg, String msg2) {
 		getFacesInstance().addMessage(clientId, new FacesMessage(FacesMessage.SEVERITY_ERROR, msg, msg2));
 	}
 


I was able to debug enough to see the message being added to the list, however, nothing happens on rendering.

Thanks.
philip.breau


Joined: 08/May/2006 00:00:00
Messages: 2989
Offline


Well, if you'd like to list your other ice components being used, we can suggest alternatives.

Philip

.
bijurk

Joined: 16/Apr/2012 10:28:53
Messages: 39
Offline


Thanks for your response.

Converting all ice components to alternative is not an option for us at this stage (That will entail a rewrite with pure JSF or something else).
What I would like to know is given that there are ice components, what should be done to make it work?

Any help is appreciated.
ken.fyten

Joined: 26/Oct/2004 00:00:00
Messages: 1338
Offline


Hi,

In this particular case, I would recommend swapping out ice: components that encapsulate the ace:messages component that you would like to render until it works. You may not need to replace them all, but it seems like one or more are in the sub-component tree you are trying to render and that is causing this failure.

Regards,
Ken

Ken Fyten
VP Product Development
ICEsoft Technologies, Inc.
 
Forum Index -> General Help
Go to:   
Powered by JForum 2.1.7ice © JForum Team