JSF: problème de filter sur Tomahawk
Heri83
Messages postés
18
Statut
Membre
-
samir -
samir -
bonjour, je suis entrain de coder un programme upload fichier sur jsf et comme indiqué dans plusieurs tuto, il faut déclarer un filter dans le web.xml pour que tomahawk marche. Malheureusement, lorsque j'ajoute celui ci dans le fichier indiqué, la ressource demandée n'est plus disponible et le projet est bloqué...si qlq1 pourra m'aider..c'est très urgent...
Merci
j'utilise:
- eclipse, JSF1.1, tomhawak
le fichier web.xml
le fichier upload.jsp:
la classe testClass:
Merci beaucoup....
Merci
j'utilise:
- eclipse, JSF1.1, tomhawak
le fichier web.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://www.oracle.com/webfolder/technetwork/jsc/dtd/web-app_2_3.dtd"> <web-app id="WebApp_ID"> <display-name>test3</display-name> <filter> <filter-name>MyFacesExtensionsFilter</filter-name> <filter-class> org.apache.myfaces.webapp.filter.ExtensionsFilter </filter-class> <init-param> <param-name>maxFileSize</param-name> <param-value>2m</param-value> </init-param> </filter> <filter-mapping> <filter-name>MyFacesExtensionsFilter</filter-name> <servlet-name>Faces Servlet</servlet-name> </filter-mapping> <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>*.faces</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> </web-app>
le fichier upload.jsp:
<%@ taglib uri="https://www.oracle.com/java/technologies/" prefix="html"%> <%@ taglib uri="https://www.oracle.com/java/technologies/" prefix="faces"%> <%@ taglib uri="http://myfaces.apache.org/tomahawk/" prefix="t"%> <html:form id="uploadForm" enctype="multipart/form-data" > <t:inputFileUpload id="fileupload" value="#{testClass.file}" storage="file" required="true" /> <html:message for="fileupload" showDetail="true" /> <html:commandButton value="Send" action="#{testClass.test}" /> </html:form>
la classe testClass:
package upload;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.logging.*;
import org.apache.myfaces.custom.fileupload.UploadedFile;
public class TestClass {
private Logger log = getLogger(getClass());
private UploadedFile file = null;
public void setFile(UploadedFile f) {
log.debug(f.getName());
log.debug("Size :" + f.getSize());
this.file = f;
}
public UploadedFile getFile() {
return file;
}
public String test() {
try {
InputStreamReader isr = new InputStreamReader(file.getInputStream());
BufferedReader br = new BufferedReader(isr);
String tmp = null;
while ((tmp = br.readLine()) != null) {
log.debug(tmp);
}
br.close();
isr.close();
} catch (Exception e) {
log.error(e, e);
}
return null;
}
}
Merci beaucoup....
j'essaie desesperement de faire fonctionner l'upload avec tomahawk sous Eclipse sur un server apache tomcat. Quand je lance le serveur, il y a une erreure "org.apache.myfaces.component.html.util.ExtensionsFilter not found".
Dans mon dossier WEB-INF/lib j'ai les librairies suivantes:
commons-beanutils_1.7.0.jar
commons-codec-1.3.jar
commons-collections-3.2.jar
commons-digester-1.8.jar
commons-el.jar
commons-fileupload-1.2.1.jar
commons-lang-2.1.jar
commons-logging-1.1.1.jar
commons-validator-1.3.1.jar
jstl-1.1.2.jar
myfaces-api-1.2.5.jar
myfaces-impl-1.2.5.jar
tomahawk-1.1.8.jar
J'ai verifié dans le jar de tomahawk org.apache.myfaces.component.html.util.ExtensionsFilter y est ainsi que org.apache.myfaces.webapp.filter.ExtensionsFilter.
J'ai essayé tout ce que j'ai pu avec les différentes versions de librairies mais ca ne fonctionne pas, pouvez vous m'aider svp ?
Merci d'avance.
Mon web.xml est le suivant:
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.oracle.com/webfolder/technetwork/jsc/xml/ns/javaee/index.html" xmlns:web="http://www.oracle.com/webfolder/technetwork/jsc/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://www.oracle.com/webfolder/technetwork/jsc/xml/ns/javaee/index.html http://www.oracle.com/webfolder/technetwork/jsc/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<display-name>test</display-name>
<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>
<filter-mapping>
<filter-name>MyFacesExtensionsFilter</filter-name>
<url-pattern>/faces/myFacesExtensionResource/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</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>/faces/*</url-pattern>
</servlet-mapping>
</web-app>
Log de l'erreur:
...
ATTENTION: [NavigationRuleRule]{faces-config/navigation-rule} Merge(*)
23 nov. 2008 16:44:14 org.apache.catalina.core.StandardContext filterStart
GRAVE: Exception au d�marrage du filtre ExtensionsFilter
java.lang.ClassNotFoundException: org.apache.myfaces.component.html.util.ExtensionsFilter
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
...
Si seulement tu pouvais me donner toute la méthode à suivre pour faire fonctionner tomahawk, car j'essaie désespérément de faire fonctionner un pauvre petit t:commandLink, et aucun tuto ne le renseigne !!
Ca serait super sympa de ta part !!
En espérant pouvoir te lire bientôt,
Mickaël