2012-04-26 23 views
0

在我用SpringMVC代码@RequestMappingspringmvc @RequestMapping以下两个网址如何精确匹配?

@RequestMapping("/{c1}-{c2}-{c3}-{c4}.htm") 
public void category(@PathVariable("c1") Integer c1,@PathVariable("c2") Integer c2,@PathVariable("c3") Integer c3,@PathVariable("c4") Integer c4){ 
    System.out.println(c1); 
    System.out.println(c2); 
    System.out.println(c3); 
    System.out.println(c4); 
} 

@RequestMapping("/{c1}-{c2}-{c3}-{c4}-{label}.htm") 
public void label(
     @PathVariable("c1") Integer c1, 
     @PathVariable("c2") Integer c2, 
     @PathVariable("c3") Integer c3, 
     @PathVariable("c4") Integer c4, 
     @PathVariable("label") Integer label){ 
    System.out.println(c1); 
    System.out.println(c2); 
    System.out.println(c3); 
    System.out.println(c4); 
    System.out.println(label); 
} 

我想网址 “/2-5-3-138-8.htm” 映射 “标签” 方法〜

但实际映射所述 “类别” 方法 和解析出的参数:

  • C1:2-5
  • C2:3
  • C3:138
  • C4:8

我怎样才能让这条道路 “/2-5-3-138-8.htm” 相匹配的“标签“的方法?

+3

可以直接粘贴在这里控制台输出。因为我只是想知道如何将“2-5”(这是一个字符串表示)转换为整型(c1) – vinodn 2012-04-26 11:02:14

回答

2

尝试更新如下模式:

@RequestMapping("/{c1:[0-9]+}-{c2:[0-9]+}-{c3:[0-9]+}-{c4:[0-9]+}.htm") 
... 
@RequestMapping("/{c1:[0-9]+}-{c2:[0-9]+}-{c3:[0-9]+}-{c4:[0-9]+}-{label}.htm")