I have a problem using the Tomahawk t:inputFileUpload
component together with Primefaces input components.
I'm using this Tomahawk component because Primefaces converts "multipart/form-data" to another charset.
When i have special chars (like ã é ó..) in my form the p:message component is displaying
***Validation Error : the value is not valid***
Here is the test project
web.xml
<display-name>TESTE_ANEXO</display-name>
<welcome-file-list>
<welcome-file>index.xhtml</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
<filter>
<filter-name>MyFacesExtensionsFilter</filter-name>
<filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class>
<init-param>
<param-name>uploadMaxFileSize</param-name>
<param-value>20m</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>MyFacesExtensionsFilter</filter-name>
<servlet-name>Faces Servlet</servlet-name>
</filter-mapping>
index.xhtml
<h:head>
<title><h:outputText value="#{msg.welcomeTitle}" /></title>
</h:head>
<body>
<h:form enctype="multipart/form-data" acceptcharset="UTF-8">
<p:messages autoUpdate="true"/>
<p:selectOneMenu immediate="true" label="teste" id="teste">
<f:selectItem itemLabel="ããã" itemValue="ããã" />
</p:selectOneMenu>
<t:inputFileUpload id="fileupload" value="#{meuBean.arquivo}" />
<h:commandButton value="Enviar" action="#{meuBean.enviar}" />
</h:form>
MeuBean.java
@ManagedBean
public class MeuBean {
private UploadedFile arquivo;
public UploadedFile getArquivo() {
return arquivo;
}
public void setArquivo(UploadedFile arquivo) {
this.arquivo = arquivo;
}
public String enviar() {
System.out.println("AA");
System.out.println("Nome do arquivo enviado: " + arquivo.getName());
System.out.println("Tipo do arquivo enviado: "
+ arquivo.getContentType());
System.out.println("Tamanho do arquivo enviado: " + arquivo.getSize());
return "ok";
}
}
Dependency Versions
<dependency>
<groupId>org.apache.myfaces.tomahawk</groupId>
<artifactId>tomahawk21</artifactId>
<version>1.1.14</version>
</dependency>
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-impl</artifactId>
<version>2.2.5</version>
</dependency>
<dependency>
<groupId>org.primefaces</groupId>
<artifactId>primefaces</artifactId>
<version>5.1</version>
</dependency>