0

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

@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=.....

4

1 回答 1

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。

于 2013-08-13T11:00:34.940 回答