SpringMVC转发到错误的视图名称

时间:2013-08-14 10:04:08

标签: spring-mvc

我创建了一个返回ModelAndView的方法,以显示带有jsp“resourcelist”的列表。它执行方法showResourceList()但在返回之后,我在/WEB-INF/views/resources.jsp上收到404错误。 “找不到所请求的资源”。

但在我的观点中,没有名为resources.jsp的jsp。我不明白为什么它试图找到这个不存在的视图。正如您在我的控制器代码中看到的那样,我正在尝试转发到resourcelist.jsp而不是转发到resources.jsp。

我还有很多其他控制器返回一个可以正常工作的ModelAndView。

任何人都可以帮助我吗?

以下是代码:

package learningresourcefinder.controller;

import java.util.List;

import learningresourcefinder.model.Resource;
import learningresourcefinder.repository.ResourceRepository;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.portlet.ModelAndView;

@Controller
public class RessourceListController extends BaseController<Resource>{
    @Autowired ResourceRepository resourcerepository; 

    @RequestMapping("/resources")
    public ModelAndView showResourceList () {
        List<Resource> list=resourcerepository.findAllRessourceOrderByTitle();
        return new ModelAndView("resourcelist", "resourceList", list);
    }
}

非常感谢! 塞巴斯蒂安。

2 个答案:

答案 0 :(得分:0)

您是否尝试在@RequestMapping("/resources")注释后添加@Controller,然后将String正确的映射/视图作为showResourceList()方法中的返回值。所以,例如:

@Controller
@RequestMapping("/resources")
public class RessourceListController extends BaseController<Resource>{
    ...

    @RequestMapping(method = RequestMethod.GET)
    public String showResourcesList(ModelMap model) {
        // retrieve the list instance
        model.addAttribute("resourcesList", list);

        return "/resources/resourceslist";
    }
    ...
}

另外,在Spring配置中如何配置viewResolver bean?

答案 1 :(得分:0)

我和另一个班级相比,我看到我做错了导入。我导入了“springframework.web。 servlet .Modelandview”而不是导入“springframework.web。 portlet .Modelandview”。 遗憾...