查找库,它根据路径检索值

时间:2010-09-14 08:57:16

标签: java map web.xml

我想要一个像servlet映射一样工作的库,没有servlet容器。它应该支持这样的概念:

/*        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".

想象一下像Map这样的东西,它接受字符串路径来获取值。该库还应该支持一些优先级概念,因此如果我在前缀之前添加一个确切的路径,那么在检查exact路径之前,测试将针对prefix。当然,我可以写自己的,但无聊的线性搜索似乎有点愚蠢,特别是因为大多数路径都是精确的模式。

有没有人知道有类似这样的库吗?

2 个答案:

答案 0 :(得分:0)

我最终纠正了我自己的小包,它使用了责任模式链。它将连续添加到链中的精确匹配分组(不确定cor中的哪个eacch元素被调用)。所有其他类型的映射都是单个“链接”。搜索会调用链,直到返回一个值而忽略链的其余部分。

答案 1 :(得分:-1)

Spring MVC在请求路径映射中支持Ant样式的glob。在您的控制器类中(使用@Controller注释),您可以在the RequestMapping annotation上的处理程序方法中指定路径模式,如下所示:

@Controller
public class HelloWorldController {

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