Hello. We are migrating from Richfaces 3.x to Richfaces 4.
I know there are lots of changes, refactor and so on.
In our project we created a layer abstracting all of the jsf components (including richfaces). So in our xhtml, there are only calls to our components. This would help us not to chnage any xhtml, if we changed the JSF implementation. In this case, the migartion is almost a change of implementation because of all the major changes. There are somethings that I can't figure out.
For example, in 3.x there was a4j:support. So we build our own nvs:ajaxSupport. Our component SfwAjaxSupport extended HtmlAjaxSupport. We have taglib configuring our ajaxSupport, and had this in the taglib:
<tag>
<tag-name>ajaxSupport</tag-name>
<component>
<component-type>br.com.softcomex.SfwAjaxSupportRenderer</component-type>
<renderer-type>br.com.softcomex.SfwAjaxSupportRenderer</renderer-type>
<handler-class>br.com.softcomex.components.ui.extensions.handlers.SfwDefaultExtensionTagHandler</handler-class>
</component>
</tag>
I know that in Richfaces 4.x, there is no Component for a4j;ajax, It is all handled through TagHandlers. But I want to continue to have our nvs:ajaxSupport.
I've change our tag lib, to the following:
<tag>
<tag-name>ajaxSupport</tag-name>
<handler-class>org.richfaces.view.facelets.html.AjaxHandler</handler-class>
</tag>
I'm getting this error:
Error Instantiating: org.richfaces.view.facelets.html.AjaxHandler
Caused by: java.lang.NoSuchMethodException: org.richfaces.view.facelets.html.AjaxHandler.<init>(javax.faces.view.facelets.TagConfig)
I have other issues similiar to this.
Where can I find the correct tag handlers for the new components ?
Is it possible to do what we intend ?
Thanks a lot.
John.
Hey John,
your nvs:ajaxSupport component should probably just create and attach Ajax behavior to the component it resides in.