我使用以下控制器进行参数方法解析。
@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 = .....
答案 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。