Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在SpringMVC3中使用pathvariable_Java_Spring Mvc - Fatal编程技术网

Java 在SpringMVC3中使用pathvariable

Java 在SpringMVC3中使用pathvariable,java,spring-mvc,Java,Spring Mvc,我正在学习SpringMVC,并且偶然发现了路径变量的用法。根据书中给出的示例,我不清楚它是如何工作的,请帮助我理解这里的概念: @RequestMapping(method=RequestMethod.POST) public String addSpitterFromForm(@Valid Spitter spitter, BindingResult bindingResult) { if(bindingResult.hasErrors()){ return"spitte

我正在学习SpringMVC,并且偶然发现了路径变量的用法。根据书中给出的示例,我不清楚它是如何工作的,请帮助我理解这里的概念:

@RequestMapping(method=RequestMethod.POST)
public String addSpitterFromForm(@Valid Spitter spitter, BindingResult bindingResult) {
   if(bindingResult.hasErrors()){
       return"spitters/edit";
   }
   spitterService.saveSpitter(spitter);
   return "redirect:/spitters/" + spitter.getUsername();
}
至于它重定向到的路径,它将采用
/spitters/{username}
的形式,其中
{username}
表示刚刚提交的Spitter的用户名。例如,如果用户以habuma的名义注册,则在提交表单后,他们将被重定向到
/spitters/habuma

在上面的语句中,它表示请求被重定向到
/spitters/habuma
,其中
habuma
是用户名

@RequestMapping(value="/{username}",method=RequestMethod.GET)
public String showSpitterProfile(@PathVariable String username, Model model){
    model.addAttribute(spitterService.getSpitter(username));
    return "spitters/view";
}
例如,如果请求路径为
/username/habuma
,则
habuma
将被传递到用户名的
showspiterprofile()

这里它说s
howspiterprofile()
方法处理
/username/habuma
请求,这与前面提到的语句相矛盾


看起来第一句话本身是正确的,但是,请告诉我showspiterprofile方法是否同时处理URL,即
/splitters/habuma
/username/habuma
/splitters/username/habuma

/username
如果类级别上的
@RequestMapping
没有显示
/username
路径组件只有
@RequestMapping(“/spitter”)
。这本书可能有打字错误。正确的句子是:

例如,如果请求路径为/spitter/habuma,则habuma将被传递到用户名的showspiterprofile()