IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

JSF - validator non reconnu


Sujet :

Servlets/JSP Java

  1. #1
    Futur Membre du Club
    Homme Profil pro
    prout
    Inscrit en
    Juin 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : prout
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2012
    Messages : 4
    Par défaut JSF - validator non reconnu
    Bonjour,

    Débutant en JSF, j'ai un petit problème.
    J'utilise un validator dans un managedBean qui lui meme utilise une methode régulièrement utilisée par l'application. Le problème est qu'à la validation du formulaire, le validator crache et donne cette erreur.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /index.xhtml @26,57 validator="#{index.validPseudo}": java.lang.NoClassDefFoundError: efs/outils/Outils
    Il n'y a pas de problème quand le code de ma méthode validRegex est directement dans le validator (validPseudo).

    Connaissez-vous une solution pour que cela fonctionne avec la méthode de la classe Outils. Surtout que dans un autre projet, cela fonctionnais très bien, j'ai fait un copier-coller et là ce ne passe pas.

    Voici les autres bouts de code


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <h:outputText value="#{str['createCollaborator.pseudo']}" />
    <h:inputText id="pseudo" value="#{index.pseudo}" validator="#{index.validPseudo}" required="true" />
    <h:message for="pseudo" />
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    import efs.outils.Outils;
     
    ...
     
    @ManagedBean
    public class Index {
     
    private String pseudo;
     
    public String getPseudo() {
    	return pseudo;
    }
     
    public void setPseudo(String pseudo) {
    	this.pseudo = pseudo;
    }
    ...
     
    public void validPseudo(FacesContext context, UIComponent composant, Object valeur) throws ValidatorException {
    	String regex = "^[\\w._-]+$";
    	String message = "Le pseudo doit contenir des caractères alphanumériques et . _ -";
    	Outils.validRegex(regex, (String) valeur, message);
    	}
    }

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    java.lang.NoClassDefFoundError: efs/outils/Outils
    Tu a tout simplement oublié de mettre la classe appelée efs.outils.Outils dans ton application. Une dépendance oubliée quelque part?

  3. #3
    Futur Membre du Club
    Homme Profil pro
    prout
    Inscrit en
    Juin 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : prout
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2012
    Messages : 4
    Par défaut
    Non la classe est bien présente. En revanche, elle n'est peut-être pas déployée sur le serveur. Y a-t-il un moyen de voir quels fichiers sont déployés sur le serveur? Un peu à la manière d'un serveur easyPHP, on sait ce qu'on met dans le répertoire du site. J'utilise Eclipse Juno. J'ai fait un projet Maven sous le packing war. Dans mon deployement assembly, on retourve

    src/main/java -> WEB-INF/classes;
    src/main/ressources -> WEB-INF/classes;
    src/main/webapp -> /;
    MavenDependencies -> WEB-INF/lib.

    J'utilise un serveur Tomcat 7 que j'ai lié à un dossier "apache-tomcat-7.0.21".

    Merci pour ta réponse

  4. #4
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par chchch1 Voir le message
    Y a-t-il un moyen de voir quels fichiers sont déployés sur le serveur?
    Regarder dans le war généré (sur le serveur), ouvrir avec winzip / winrar etc et regarder le contenu de WEB-INF/classes et WEB-INF/lib

  5. #5
    Futur Membre du Club
    Homme Profil pro
    prout
    Inscrit en
    Juin 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : prout
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2012
    Messages : 4
    Par défaut
    Je travaille en local, du coup, j'ai vu que dans ma workspace, il y a la structure du serveur mais je ne trouve pas mon application déployée. Est normal ou bien est-ce que je ne cherche pas au bon endroit. Pas de trace du war.

  6. #6
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Donne nous les logs de ton serveur, souvent c'est indiqué. Pas obligatoire que ce soit dans un war, suivant l'ide / le serveur, ça peux être un dossier déployé ou même plus tordu

  7. #7
    Futur Membre du Club
    Homme Profil pro
    prout
    Inscrit en
    Juin 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : prout
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2012
    Messages : 4
    Par défaut
    J'espère que ce n'est pas plus tordu!

    Voici mes log (je pense), c'est ce qui se trouve dans la console d'Eclipse

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    janv. 11, 2013 9:17:44 PM org.apache.catalina.core.AprLifecycleListener init
    INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jdk1.7.0_07\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/Program Files/Java/jre7/bin/client;C:/Program Files/Java/jre7/bin;C:/Program Files/Java/jre7/lib/i386;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\system32\WindowsPowerShell\v1.0;C:\Program Files\SAS\SharedFiles\Formats;C:\Program Files\MiKTeX 2.9\miktex\bin\;C:\Program Files\eclipseJEE;;.
    janv. 11, 2013 9:17:47 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
    WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:tp2jsf2' did not find a matching property.
    janv. 11, 2013 9:17:47 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
    WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:DonneTonSang' did not find a matching property.
    janv. 11, 2013 9:17:49 PM org.apache.coyote.AbstractProtocol init
    INFO: Initializing ProtocolHandler ["http-bio-8080"]
    janv. 11, 2013 9:17:50 PM org.apache.coyote.AbstractProtocol init
    INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
    janv. 11, 2013 9:17:50 PM org.apache.catalina.startup.Catalina load
    INFO: Initialization processed in 7887 ms
    janv. 11, 2013 9:17:50 PM org.apache.catalina.core.StandardService startInternal
    INFO: Démarrage du service Catalina
    janv. 11, 2013 9:17:50 PM org.apache.catalina.core.StandardEngine startInternal
    INFO: Starting Servlet Engine: Apache Tomcat/7.0.21
    janv. 11, 2013 9:17:52 PM org.apache.catalina.util.SessionIdGenerator createSecureRandom
    INFO: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [281] milliseconds.
    janv. 11, 2013 9:17:54 PM com.sun.faces.config.ConfigureListener contextInitialized
    INFO: Initialisation de Mojarra 2.1.14 ( 20121023-1153) pour le contexte «/DonneTonSang»
    janv. 11, 2013 9:17:57 PM com.sun.faces.spi.InjectionProviderFactory createInstance
    INFO: JSF1048 : Présence d’annotations PostConstruct/PreDestroy  Les méthodes de beans gérés marquées avec ces annotations auront des annotations dites traitées.
    janv. 11, 2013 9:18:00 PM com.sun.faces.config.ConfigureListener$WebConfigResourceMonitor$Monitor <init>
    INFO: Monitoring jndi:/localhost/DonneTonSang/WEB-INF/faces-config.xml for modifications
    janv. 11, 2013 9:18:02 PM com.sun.faces.config.ConfigureListener contextInitialized
    INFO: Initialisation de Mojarra 2.1.14 ( 20121023-1153) pour le contexte «/tp2jsf2»
    janv. 11, 2013 9:18:02 PM com.sun.faces.spi.InjectionProviderFactory createInstance
    INFO: JSF1048 : Présence d’annotations PostConstruct/PreDestroy  Les méthodes de beans gérés marquées avec ces annotations auront des annotations dites traitées.
    janv. 11, 2013 9:18:05 PM org.apache.coyote.AbstractProtocol start
    INFO: Starting ProtocolHandler ["http-bio-8080"]
    janv. 11, 2013 9:18:05 PM org.apache.coyote.AbstractProtocol start
    INFO: Starting ProtocolHandler ["ajp-bio-8009"]
    janv. 11, 2013 9:18:05 PM org.apache.catalina.startup.Catalina start
    INFO: Server startup in 15147 ms
    Et voici le code qui se déclenche lors de l'erreur.
    Mais force est de constater que maintenant, c'est une autre erreur qui apparait. Pourtant, je n'ai rien changé au code. Est ce que ce ne serait pas le serveur qui est en cause?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    janv. 11, 2013 9:20:18 PM com.sun.faces.lifecycle.ProcessValidationsPhase execute
    WARNING: /index.xhtml @26,57 value="#{index.pseudo}": Target Unreachable, identifier 'index' resolved to null
    javax.el.PropertyNotFoundException: /index.xhtml @26,57 value="#{index.pseudo}": Target Unreachable, identifier 'index' resolved to null
    	at com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:100)
    	at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:95)
    	at javax.faces.component.UIInput.getConvertedValue(UIInput.java:1030)
    	at javax.faces.component.UIInput.validate(UIInput.java:960)
    	at javax.faces.component.UIInput.executeValidate(UIInput.java:1233)
    	at javax.faces.component.UIInput.processValidators(UIInput.java:698)
    	at javax.faces.component.UIForm.processValidators(UIForm.java:253)
    	at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
    	at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:1169)
    	at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:76)
    	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
    	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
    	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:185)
    	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:151)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:405)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:269)
    	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:515)
    	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    	at java.lang.Thread.run(Thread.java:722)
    Merci pour tes réponses.
    Bonne soirée

  8. #8
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    ta dernière erreur te dit simplement que tu n'a pas de bean appelé "index".

Discussions similaires

  1. As400Text et As400PackedDecimal type non reconnu comme type valide
    Par okilele dans le forum Développement de jobs
    Réponses: 0
    Dernier message: 19/11/2013, 06h25
  2. JSF et Struts Tiles, tag JSF non reconnu
    Par l_cauchy dans le forum JSF
    Réponses: 3
    Dernier message: 26/03/2012, 13h10
  3. Réponses: 1
    Dernier message: 22/06/2011, 12h53
  4. [ZF 1.0] Ajout d'une classe dans la libraire "Validate" non reconnu par l'Autoload
    Par psylo66 dans le forum Autres composants
    Réponses: 3
    Dernier message: 22/09/2010, 13h08
  5. xslt_create() non reconnu
    Par BRAUKRIS dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 11/12/2003, 14h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo