当我这样做时。

@RequestMapping("/folder/{name}.jsp")
public ModelAndView catchAll(@PathVariable String viewName) {
    return new ModelAndView("legacy/" + viewName);
}


它在浏览器上给出了一个错误


  legacy / 123.jsp不可用


我该如何解决这个问题

如果我有一个ID列表,

我希望浏览器显示这样的/ legacy / 1 / legacy / 2等,因此我该如何在春季编程

最佳答案

您要告诉Spring呈现一个不存在的jsp页面。如果jsp的名称是“ legacy.jsp”,则这就是您渲染的视图,并且您只是根据该参数将另一个对象传递给该视图。如果要legacy/123带您进入“ legacy.jsp”,它将显示ID为123的Legacy对象,则可以这样进行:

@RequestMapping("/legacy/{id}")
public ModelAndView catchAll(@PathVariable("id") String id) {
  Legacy legacy = // Get the object from your database using the id
  return new ModelAndView("legacy", "legacy", legacy); // insert the legacy object into your view, it will be accessed by the name "legacy"
}


因此,通过这种方式,您在浏览器中输入URL“ / legacy / 123”(或单击指向其的链接),它仅使用您使用id legacy.jsp获取的对象来呈现123

关于java - Spring在jsp中启用 Controller 页面渲染中的问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4407847/

10-10 19:06