我正在使用 springframework 中的@PathVariable。当我尝试 return 从控制器查看页面名称时,出现 404 错误

I am using @PathVariable from springframework. When I try to return view page name from controller, I get 404 error

我正在使用 spring mvc(版本:4.1.5.RELEASE)。我在我的项目中添加了新的控制器并尝试使用 @PathVariable 注释。当我添加此注释时,我的 jsp 模板视图页面出现 404 错误。如果我从@RequestMapping 路径中​​删除@PathVariable 注释和{id},代码将正常工作。有人可以帮我看看有什么问题吗?

dispatcher-servlet.xml
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="WEB-INF/views/"></property>
        <property name="suffix" value=".jsp"></property>

我的新控制器

@Controller
public class MoviesController {
    @RequestMapping(value = "/movie/{id}", method=RequestMethod.GET)
    public String moviesDetails(@PathVariable(value="id")
                                String id, ModelMap map) {
        System.out.println(id);
        map.addAttribute("movieId", id);
        return "moviesDetails";
    }
}

link 我添加 id 的地方如下所示。

a href="movie/${movie.id}">${movie.movieName}

HTTP 状态 404 - /shcm/movie/WEB-INF/views/moviesDetails.jsp

moviesDetails.jsp 文件已存在于 WEB-INF/views 路径

改变

@PathVariable(value="id") 字符串 id

@PathVariable("id") 字符串 id

控制器变更:

 @GetMapping("/movie/{id}")
 public String moviesDetails(@PathVariable
                                String id, ModelMap map) {
        System.out.println(id);
        map.addAttribute("movieId", id);
        return "moviesDetails";
    }

并且在 web.xml 中:

<property name="prefix" value="/WEB-INF/views/"></property>