当我这样做时。
@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/