Olá,
Estou fazendo um projeto em JSF 2.0 usando como servidor o GlassFish 3v e usando o PrimeFaces 2.2-M1-SNAPSHOT.
O problema:
Usando esse exemplo: http://code.google.com/p/primefaces/source/browse/examples/trunk/showcase/src/main/webapp/ui/fileUploadAuto.xhtml?r=3763
<p:fileUpload fileUploadListener="#{fileUploadController.handleFileUpload}" auto="true"
allowTypes="*.jpg;*.png;*.gif;" description="Images"/>
Que usa esse bean
[code]
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import org.primefaces.event.FileUploadEvent;
public class FileUploadController {
private Logger logger = Logger.getLogger(FileUploadController.class.getName());
public void handleFileUpload(FileUploadEvent event) {
logger.log(Level.INFO, "Uploaded: {0}", event.getFile().getFileName());
FacesMessage msg = new FacesMessage("Succesful", event.getFile().getFileName() + " is uploaded.");
FacesContext.getCurrentInstance().addMessage(null, msg);
}
}[/code]
No web.xml estou usando a seguinte configuração para o upload:
<filter>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<filter-class>org.primefaces.webapp.filter.FileUploadFilter</filter-class>
<init-param>
<param-name>thresholdSize</param-name>
<param-value>51200</param-value>
</init-param>
<init-param>
<param-name>uploadDirectory</param-name>
<param-value>C:\temp</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<servlet-name>Faces Servlet</servlet-name>
</filter-mapping>
Na página a tag fileUpload não está realmente acessando o bean através do parametro: fileUploadListener="#{fileUploadController.handleFileUpload}"
Por que? Andei pesquisando, e vi que a solução seria usar no Servidor o Mojarra 2.0.3
Como instalar o mojarra 2.0.3 num servidor glassfish?
Ou melhor: qual servidor já vem com ele instalado?