seam 2.1, richfaces 3.2.0 and fileUpload
koatto Apr 5, 2008 9:26 AMi'm using richfaces 3.2.0 and seam 2.1 and im facing problems on getting rich:fileUpload work. It seems the component can't find the listener method.
this is what i get :
|Caused by: javax.faces.el.MethodNotFoundException: /test.xhtml @17,112 fileUploadListener="#{uploadHandler.fil
eUploadListener}": Method not found: mk.common.UploadHandler@1af0d15.fileUploadListener(org.richfaces.event.Up
loadEvent)
 at ||com.sun.facelets.el.LegacyMeth||odBinding.invoke(LegacyMethodBinding.java:71)
 at org.richfaces.component.UIFileUpload.broadcast(UIFileUpload.java:160)
 at org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:316)
 at org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:289)
 at org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:248)
 at org.ajax4jsf.component.AjaxViewRoot.processDecodes(AjaxViewRoot.java:404)
 at com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:101)
 at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
 at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
 at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
 ... 41 more|this is my component's code :
import java.io.File;
import java.io.IOException;
import org.jboss.seam.annotations.Logger;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.log.Log;
import org.richfaces.model.UploadItem;
@Name("uploadHandler")
public class UploadHandler {
 @Logger
 Log log;
 public void fileUploadListener(org.richfaces.event.UploadEvent event) {
 if(event==null){
 log.debug("null upload event");
 return;
 }
 UploadItem item = event.getUploadItem();
 String name = "unnamed_attachment";
 byte[] data = item.getData();
 if (item.isFile()) {
 name = item.getFileName();
 data = item.getData();
 File file = item.getFile();
 log.debug(
 "uploaded "+name+
 " - length= "+( (data==null)?0:data.length) +
 " tmpFile="+file.getAbsoluteFile()
 );
 }
 }
}and that's my page
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
 xmlns:s="http://jboss.com/products/seam/taglib"
 xmlns:ui="http://java.sun.com/jsf/facelets"
 xmlns:f="http://java.sun.com/jsf/core"
 xmlns:h="http://java.sun.com/jsf/html"
 xmlns:c="http://java.sun.com/jstl/core"
 xmlns:rich="http://richfaces.org/rich" >
 <HEAD>
 <title>test fileupload</title>
 </HEAD>
 <body>
 <h:form>
 <rich:fileUpload id="upload" fileUploadListener="#{uploadHandler.fileUploadListener}" maxFilesQuantity="2">
 <f:facet name="label">
 <h:outputText value="{_KB}KB from {KB}KB uploaded --- {mm}:{ss}" />
 </f:facet>
 </rich:fileUpload>
 </h:form>
 </body>
</html>If i remove the event parameter from the listener methd it gets recognized and the page works, but i obviously have no access to anything.
I think the seam's el handler is producing some bad effect.
Thanks.
 
    