@RequestMapping(value = "/test")  
 public ModelAndView myMethod(HttpServletRequest request, 
 HttpServletResponse response,     
            /*@PathVariable("user") String user, */
 ModelMap modelMap) throws Exception{

ModelAndView mv = new ModelAndView();
mv.setViewName("show");

System.out.println("myMethod");
System.out.println(mv.getViewName());

return mv;  
 }

    @RequestMapping(value = "/try.do", method = RequestMethod.GET)  
    public String registPost() {  
    System.out.println("registPost");
     return "show";
    }  
}
上述control中,registPost这个方法调用时正常的,show.jsp被显示。但采用ModelAndView返回时总是出错。myMethod已经被调用,mv.getViewName打印出来也是“show”,但页面返回的错误时找不到test.jsp。
我查了下,只有ModelAndView没有视图的情况下,才会默认由参数创建一个。我到底错在哪里还请各位帮忙看下。

解决方案 »

  1.   

    代码正常 。 
    把project clean一下。
      

  2.   

          <context:component-scan base-package="com" />
        <bean id = "viewResolver" class = "org.springframework.web.servlet.view.UrlBasedViewResolver">
         <property name = "viewClass" value = "org.springframework.web.servlet.view.JstlView"/>
         <property name="prefix" value = "/WEB-INF/view/"/>
         <property name="suffix" value = ".jsp"/>
        </bean>第二个registPost是正确的,第一个方法也都被执行了,所以我当时觉得不是配置的原因。请帮忙再看下。
      

  3.   

    view下面还有目录不?
    return new ModelAndView("X模块/show");
      

  4.   

    吧 @RequestMapping(value = "/test")  改成 @RequestMapping(value = "/test.do")试试  
      

  5.   

    show前面加个”/“看看;应该是路径问题。