You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring MVC类与方法映射并存时视图路径错误问题求助

问题解决:Spring MVC视图路径拼接错误

问题根源

错误路径/role/WEB-INF/view/role-overview.jsp的产生,是因为视图解析器的前缀配置为相对路径,再结合控制器类上的@RequestMapping("/role"),Spring MVC会基于当前请求路径(/role/roles)拼接视图路径,最终偏离了正确的文件位置。

解决方案

方案1:修正视图解析器的前缀为绝对路径

给视图解析器的prefix参数添加开头斜杠,让它从应用根目录开始定位视图文件:

@Bean
public InternalResourceViewResolver viewResolver() {
    InternalResourceViewResolver vr=new InternalResourceViewResolver();
    vr.setPrefix("/WEB-INF/view/"); // 添加开头斜杠,改为绝对路径前缀
    vr.setSuffix(".jsp");
    return vr;
}

方案2:返回视图名时使用绝对路径

如果不想修改视图解析器配置,可以在控制器方法返回视图名时,给视图名添加开头斜杠,强制从根路径解析:

return "/role-overview"; // 添加开头斜杠,指定绝对视图路径

额外优化:修正页面跳转路径

你页面中a标签使用的相对路径role/roles,若home.jsp不在应用根目录下可能引发跳转错误。推荐改为适配上下文的绝对路径:

<!-- 使用JSTL标签自动适配应用上下文路径 -->
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<a href="<c:url value='/role/roles'/>" class="text-light">
    <div style="height:50px;font-size:30px;" class="container mb-1 col-4 bg-info text-center ">
        <p>Role Overview</p>
    </div>
</a>

内容的提问来源于stack exchange,提问作者Rtech tricks

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 02:45:02