Spring MVC 多请求映射,缺少请求参数
Spring MVC multiple requestmapping , missing requestparam
我需要通过一个 method.For 示例处理两个 @RequestMapping 值
/创建并创建/{id}
@RequestMapping(value = {"create","create/{id}"}, method = RequestMethod.GET)
public String create_form(@PathVariable(value = "id") Long id,Model model, @ModelAttribute("channelNode") ChannelNode channelNode,
BindingResult result) {
if(id>0){ //or if id exsist
//do something
}
return CHANNELNODE_ADD_VIEW;
}
但是当我 运行 简单 "create" url,没有任何参数时它不起作用 /
它显示了以下错误:
HTTP 状态 500 - 缺少类型为 Long
的方法参数的 URI 模板变量 'id'
输入状态报告
消息 Long 类型的方法参数缺少 URI 模板变量 'id'
说明服务器遇到内部错误,无法完成此请求。
不幸的是,您无法使用 @PathVariable
执行此操作。
您需要通过定义 2 个单独的处理程序方法来完成,
一个没有路径变量
@RequestMapping(value = "create", method = RequestMethod.GET)
public String create_form(Model model, @ModelAttribute("channelNode") ChannelNode channelNode,
BindingResult result) {
return CHANNELNODE_ADD_VIEW;
}
一个有路径变量
@RequestMapping(value = "create/{id}", method = RequestMethod.GET)
public String create_form(@PathVariable(value = "id") Long id,Model model, @ModelAttribute("channelNode") ChannelNode channelNode,
BindingResult result) {
return CHANNELNODE_ADD_VIEW;
}
我需要通过一个 method.For 示例处理两个 @RequestMapping 值 /创建并创建/{id}
@RequestMapping(value = {"create","create/{id}"}, method = RequestMethod.GET)
public String create_form(@PathVariable(value = "id") Long id,Model model, @ModelAttribute("channelNode") ChannelNode channelNode,
BindingResult result) {
if(id>0){ //or if id exsist
//do something
}
return CHANNELNODE_ADD_VIEW;
}
但是当我 运行 简单 "create" url,没有任何参数时它不起作用 /
它显示了以下错误:
HTTP 状态 500 - 缺少类型为 Long
的方法参数的 URI 模板变量 'id'输入状态报告
消息 Long 类型的方法参数缺少 URI 模板变量 'id'
说明服务器遇到内部错误,无法完成此请求。
不幸的是,您无法使用 @PathVariable
执行此操作。
您需要通过定义 2 个单独的处理程序方法来完成,
一个没有路径变量
@RequestMapping(value = "create", method = RequestMethod.GET) public String create_form(Model model, @ModelAttribute("channelNode") ChannelNode channelNode, BindingResult result) { return CHANNELNODE_ADD_VIEW; }
一个有路径变量
@RequestMapping(value = "create/{id}", method = RequestMethod.GET) public String create_form(@PathVariable(value = "id") Long id,Model model, @ModelAttribute("channelNode") ChannelNode channelNode, BindingResult result) { return CHANNELNODE_ADD_VIEW; }