2010-09-14 22 views
1

Je voudrais une bibliothèque qui fonctionne comme les mappages de servlet, sans le conteneur de servlet. Il devrait soutenir des concepts comme celui-ci:Bibliothèque de recherche qui récupère les valeurs en fonction des chemins

/*  maps the default value 
/exact maps exact path maps 
/prefix maps any path that begins with "/prefix" 
*.suffix maps any paths that end with "suffix". 

Imaginez quelque chose comme un Map qui accepte les chemins de chaîne pour aller chercher des valeurs. La bibliothèque devrait également supporter un concept de priorité, donc si j'ajoute un chemin exact avant un préfixe, le test est contre le exact, avant de vérifier les chemins prefix. Naturellement, je pourrais écrire le mien, mais une recherche linéaire ennuyeuse semble un peu bête, d'autant plus que la plupart des chemins seront des motifs exacts.

Est-ce que quelqu'un connaît une bibliothèque qui fait quelque chose comme ça?

+0

Pouvez-vous donner un exemple d'appel de recherche que vous feriez à cette bibliothèque? – oksayt

Répondre

0

je me suis retrouvé redressant mon petit paquet qui utilise la chaîne de motif responsbility. Il regroupe les correspondances exactes qui ont été ajoutées consécutivement dans un lien unique (je ne suis pas sûr de ce que l'on appelle l'élément eacch dans un cor) dans la chaîne. Tous les autres types de mappage sont des "liens" uniques. La recherche appelle la chaîne jusqu'à ce qu'une valeur soit renvoyée en ignorant le reste de la chaîne.

-1

Spring MVC prend en charge les globes de style Ant dans les mappages de chemin de requête. Dans votre classe contrôleur (annotée avec @Controller), vous pouvez spécifier votre modèle de chemin dans the RequestMapping annotation sur votre méthode de gestionnaire comme ceci:

@Controller 
public class HelloWorldController { 

    @RequestMapping("/myPath/*.do") 
    public ModelAndView helloWorld() { 
     ModelAndView mav = new ModelAndView(); 
     mav.setViewName("helloWorld"); 
     mav.addObject("message", "Hello World!"); 
     return mav; 
    } 
} 
+0

J'utilisais juste des mappages de servlet, car c'était le meilleur exemple, mais ce n'est pas prévu pour les servlets ou quoi que ce soit où un conteneur de servlet pourrait faire le travail. –