spring中的默认视图分辨率



我是春季新手,有一个关于视图分辨率的问题。我正在更改我在线下载的web应用程序,它使用简单的视图解析器策略:

    <bean id="jspViewResolver"
            class="org.springframework.web.servlet.view.InternalResourceViewResolver">
            <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
            <property name="prefix" value="/WEB-INF/view/" />
            <property name="suffix" value=".jsp" />
    </bean>

和我一直得到404错误的视图分辨率,我怀疑它使用某种重写/过滤机制。是否有一个日志,我可以在tomcat/Spring类中查看,我可以覆盖,以便了解Spring在解析传入请求时试图寻找什么文件?

我理解InternalResourceViewResolver剥离文件扩展名的操作。但是如果请求没有延期怎么办?例如:

@RequestMapping("/foo")
protected ModelMap render() { return new ModelMap(); }

那么在这种情况下将被解析为的视图名称是什么?

查看log4j集成的链接

Spring-mvc不使用任何文件来处理请求,它使用控制器和requestmapping将请求映射到控制器和相应的方法(如果有的话)。

您编写的InternalResourceViewResolver将从控制器类返回的"视图名称"解析到驻留在/WEB-INF/view/目录中的JSP页面。

一个例子
@Controller
public class SimpleController{
@RequestMapping("/home")
public String homeMapper(Model model) {        
    return "home";
}
}

如果您尝试访问"home",将调用homapper方法,并且当它返回home时,要呈现的相对jsp是"home.jsp"应该出现在/WEB-INF/view/

有关更多信息,请参阅spring mvc参考或任何教程。

最新更新