Galera, esse é o primeiro post que faço e é logo o primeito tópico tambem, to com uma bronca que é o seguinte:
To querendo fazer um upload usando o fileUpload do tomahawk juntamente com o facelets, eu rodo o projeto a página abre normal, o problema é quando eu dou o submit do arquivo que a pagina só dá uma piscada e some o caminho do arquivo do campo de texto, ja tentei debugar mas ele nem entra no metodo, alguma luz por favor!!!!
<?xml version='1.0' encoding='UTF-8' ?>
<!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:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:c="http://java.sun.com/jstl/core"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich"
xmlns:t="http://myfaces.apache.org/tomahawk">
<body>
<f:view>
<h:form id="MyForm" enctype="multipart/form-data" >
<t:inputFileUpload id="myFileId"
value="#{uploadRemessa.myFile}"
storage=""
required="true"/>
<h:commandButton value="Submit" action="#{uploadRemessa.processMyFile}"/>
<h:outputText value=" "/>
</h:form>
</f:view>
</body>
</html>
web.xml
<filter>
<filter-name>ExtensionsFilter</filter-name>
<filter-class>
org.apache.myfaces.component.html.util.ExtensionsFilter
</filter-class>
<init-param>
<param-name>uploadMaxFileSize</param-name>
<param-value>10m</param-value>
</init-param>
<init-param>
<param-name>uploadThresholdSize</param-name>
<param-value>100k</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>ExtensionsFilter</filter-name>
<servlet-name>FacesServlet</servlet-name>
</filter-mapping>
<context-param>
<param-name>facelets.LIBRARIES</param-name>
<param-value>/WEB-INF/tomahawk.taglib.xml</param-value>
</context-param>
bean
public class UploadRemessa{
private UploadedFile myFile = null;
private String myParam;
private String myResult;
public UploadedFile getMyFile() {
return myFile;
}
public void setMyFile(UploadedFile myFile) {
this.myFile = myFile;
}
public String processMyFile(){
try{
MessageDigest md = MessageDigest.getInstance(getMyParam());
InputStream in = new BufferedInputStream(myFile.getInputStream());
try{
byte [] buffer = new byte[64*1024];
int count;
while((count = in.read(buffer))>0)
md.update(buffer,0,count);
}finally{
in.close();
}
byte hash[] = md.digest();
StringBuffer buf = new StringBuffer();
for (int i = 0; i<hash.length;i++){
int b = hash[i] & 0xFF;
int c = (b>>4) & 0xFF;
c = c < 10 ? '0' + c : 'A' +c - 10;
buf.append((char)c);
c = b & 0xF;
c = c < 10 ? '0' + c : 'A' + c -10;
buf.append((char)c);
}
myResult = buf.toString();
return "OK";
}catch(Exception x){
FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_FATAL, x.getClass().getName(),x.getMessage());
FacesContext.getCurrentInstance().addMessage(null,message);
return null;
}
}
public String getMyParam() {
return myParam;
}
public void setMyParam(String myParam) {
this.myParam = myParam;
}
public String getMyResult() {
return myResult;
}
public void setMyResult(String myResult) {
this.myResult = myResult;
}
}