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

Spring Web Java Discussion :

[Spring MVC] pb mapping du type "/test/*.html"


Sujet :

Spring Web Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné

    Inscrit en
    Avril 2005
    Messages
    317
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 317
    Par défaut [Spring MVC] pb mapping du type "/test/*.html"
    D'apres la doc, il serait possible de mapper un controller avec une url de type "/test/*.html" simplement avec l'annotation @RequestMapping("/test/*.html")

    La doc de spring dit :
    13.11.3.1. Advanced @RequestMapping options

    Ant-style path patterns are supported (e.g. "/myPath/*.do"). At the method level, relative paths (e.g. "edit.do") are supported within the primary mapping expressed at the type level.
    The handler method names are taken into account for narrowing if no path was specified explicitly, according to the specified org.springframework.web.servlet.mvc.multiaction.MethodNameResolver (by default an org.springframework.web.servlet.mvc.multiaction.InternalPathMethodNameResolver). Note that this only applies in case of ambiguous annotation mappings that do not specify a path mapping explicitly. In other words, the method name is only used for narrowing among a set of matching methods; it does not constitute a primary path mapping itself.
    If you have a single default method (without explicit path mapping), then all requests without a more specific mapped method found will be dispatched to it. If you have multiple such default methods, then the method name will be taken into account for choosing between them.
    Path mappings can be narrowed through parameter conditions: a sequence of "myParam=myValue" style expressions, with a request only mapped if each such parameter is found to have the given value. "myParam" style expressions are also supported, with such parameters having to be present in the request (allowed to have any value). Finally, "!myParam" style expressions indicate that the specified parameter is not supposed to be present in the request.
    Par contre, je ne comprends pas très bien comment Spring va faire le mapping entre le "*" et la méthode à appeler
    Je m'attendais si *= test à ce que Spring appelle ma méthode test() mais cela ne doit pas être ca...

    Ci-joint mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    @Controller
    @RequestMapping("/test/*.html")
    public class TestControllor {
     
        public ModelMap test(ModelMap model) {
            System.out.println("Appel");
            return model;
        }
    }
    Et mon erreur qund j'appelle test/test.html...
    HTTP ERROR: 500
    No adapter for handler [TestControllor@1b5391b]: Does your handler implement a supported interface like Controller?
    RequestURI=/test/test.html

  2. #2
    Membre Expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 870
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 870
    Par défaut
    Salut,

    As-tu bien défini ceci, afin qu'il repère tes classes annotées :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <context:component-scan base-package="tonpackage" />
    A mon avis, il va se baser sur le nom de la page ( test.htm par exemple ) pour mapper sur la méthode correspondante...

    Sinon je n'en sais pas plus ! Le mapping par annotation me plait bien aussi, mais à mon avis il y a encore du travail pour qu'il soit abouti.

    A+

  3. #3
    Membre chevronné

    Inscrit en
    Avril 2005
    Messages
    317
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 317
    Par défaut
    Personne ne sait comment utiliser un mapping de type "/test/*.html"

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2005
    Messages : 6
    Par défaut
    Salut ,

    je ne sait pas si t as pu résoudre ton soucis ,mais je répond qu en même à ta question.

    Par contre, je ne comprends pas très bien comment Spring va faire le mapping entre le "*" et la méthode à appeler
    Je m'attendais si *= test à ce que Spring appelle ma méthode test() mais cela ne doit pas être ca...
    Dans ton cas puisqu'il n y a qu'une seule méthode c est cette methode qui va être exceutée.

    Si tu en avais 2 Spring fera son choix en fonction du nom de ta méthode et de l'url.

    si ton url est /test.html spring executera ta methode test (..) de ton controlleur.

    Si ton url est /toto.html spring executera la methode toto(..) de ton controleur.

    J'espère que ça répondu à ta question.

  5. #5
    Membre chevronné

    Inscrit en
    Avril 2005
    Messages
    317
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 317
    Par défaut
    Citation Envoyé par blacktitanium42 Voir le message
    si ton url est /test.html spring executera ta methode test (..) de ton controlleur.

    Si ton url est /toto.html spring executera la methode toto(..) de ton controleur.
    Ben c'est justement le problème...moi j'ai l'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    HTTP ERROR: 500
    No adapter for handler [TestControllor@1b5391b]: Does your handler implement a supported interface like Controller? 
    RequestURI=/test/test.html

Discussions similaires

  1. Spring mvc Test Controller NullPointerException
    Par sabfix dans le forum Spring
    Réponses: 0
    Dernier message: 10/09/2014, 09h55
  2. [MVC] "No mapping found" Spring mvc
    Par bruno2356 dans le forum Spring Web
    Réponses: 3
    Dernier message: 30/03/2012, 21h26
  3. [Spring MVC] type du formulaire
    Par Socrate93 dans le forum Spring Web
    Réponses: 1
    Dernier message: 26/09/2007, 10h15
  4. Réponses: 2
    Dernier message: 30/08/2004, 14h48

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