ParameterMethodNameResolver的spring注释

时间:2013-08-13 10:39:45

标签: spring-mvc spring-annotations

我使用以下控制器进行参数方法解析。

@Controller
@RequestMapping("/customer")
public class CustomerController extends MultiActionController{

    @RequestMapping(params = "action=add")
    public ModelAndView add(HttpServletRequest request,
        HttpServletResponse response) throws Exception {

        return new ModelAndView("CustomerPage", "msg","add() method");

    }
....
....
}

但是,这会使以下格式的url起作用:

http://localhost:7001/begin-mvc/customer/?action=update

如何让这个/ customer / * .htm?action = .....

1 个答案:

答案 0 :(得分:0)

我认为你可以做到以下几点:

@Controller

@RequestMapping("/customer")
public class CustomerController extends MultiActionController{

    @RequestMapping(value="{myHtmFile:.*\\.htm}", params = "action=add")
    public ModelAndView add(HttpServletRequest request,
        HttpServletResponse response, @PathVariable String myHtmFile) throws Exception {

        return new ModelAndView("CustomerPage", "msg","add() method");

    }
....
....
}

这使用RegEx来匹配模式。正则表达式可能需要一些工作,但这是一般的想法。作为奖励,我展示了如何使用@PathVariable分配变量。如果您不想这样做,我认为您可以在{}中包含正则表达式并删除@PathVariable。