【发布时间】:2015-03-09 23:00:16
【问题描述】:
我现在面临一个奇怪的问题。在我的 GET 方法中,我指定了 viewName。但是 Spring 去另一个位置搜索它。
@Controller
@RequestMapping(value = "/Admin")
public class AdminTaskController {
@Autowired
private TaskDao taskDao;
@Autowired
private UserDao userDao;
@Autowired
CSVValidation csvValidation;
@RequestMapping(value = "/Task/ViewAll", method = RequestMethod.GET)
public ModelAndView getAllTasks() {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("viewAllTasks");
List<Task> tasks = (List<Task>) taskDao.findAll();
modelAndView.addObject("tasks", tasks);
return modelAndView;
}
}
但是根据调试:
o.s.w.s.v.ContentNegotiatingViewResolver:327 - Requested media types are [text/html, application/xhtml+xml, image/webp, application/xml;q=0.9, */*;q=0.8] based on Accept header types and producible media types [*/*])
o.s.w.s.v.ContentNegotiatingViewResolver:402 - Returning [org.springframework.web.servlet.view.JstlView: name 'Admin/Task/ViewAll'; URL [/WEB-INF/jsp/Admin/Task/ViewAll.jsp]] based on requested media type 'text/html'
o.s.w.s.DispatcherServlet:1218 - Rendering view [org.springframework.web.servlet.view.JstlView: name 'Admin/Task/ViewAll'; URL [/WEB-INF/jsp/Admin/Task/ViewAll.jsp]] in DispatcherServlet with name 'dispatcherServlet'
o.s.w.s.v.JstlView:377 - Added model object 'modelAndView' of type [org.springframework.web.portlet.ModelAndView] to request in view with name 'Admin/Task/ViewAll'
o.s.w.s.v.JstlView:377 - Added model object 'org.springframework.validation.BindingResult.modelAndView' of type [org.springframework.validation.BeanPropertyBindingResult] to request in view with name 'Admin/Task/ViewAll'
o.s.w.s.v.JstlView:207 - Forwarding to resource [/WEB-INF/jsp/Admin/Task/ViewAll.jsp] in InternalResourceView 'Admin/Task/ViewAll'
但是ContentNegotiatingViewResolver 去搜索/WEB-INF/jsp/Admin/Task/ 文件夹以找到ViewAll.jsp。它不包含此类。
此viewAllTasks.jsp 包含在/WEB-INF/jsp/ 文件夹中。因为如果这样它不会创建正确的视图并给出 404:
There was an unexpected error (type=Not Found, status=404).
/WEB-INF/jsp/Admin/Task/ViewAll.jsp
【问题讨论】:
标签: java spring jsp spring-mvc spring-boot