Spring Boot循环视图路径错误[dmno]求助:多种尝试均未解决
解决循环视图路径[dmno]问题
这个错误的核心原因是Spring MVC解析视图时,将你返回的视图名称dmno识别成了请求路径,再次转发到/dmno的处理器,形成无限循环。以下是针对性解决方法:
1. 检查视图解析器配置
根据你使用的视图技术(Thymeleaf/JSP等),确保配置了正确的前缀和后缀:
Thymeleaf配置示例:
@Configuration public class WebMvcConfig implements WebMvcConfigurer { @Bean public SpringResourceTemplateResolver templateResolver() { SpringResourceTemplateResolver templateResolver = new SpringResourceTemplateResolver(); templateResolver.setPrefix("classpath:/templates/"); // 视图文件所在目录 templateResolver.setSuffix(".html"); // 视图文件后缀 templateResolver.setTemplateMode(TemplateMode.HTML); return templateResolver; } // 其他相关配置... }配置后返回
dmno时,框架会去加载src/main/resources/templates/dmno.html,而非转发请求。JSP配置示例:
<!-- 在spring-mvc.xml中配置 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views/"/> <property name="suffix" value=".jsp"/> </bean>此时返回
dmno会加载/WEB-INF/views/dmno.jsp。
2. 确认视图文件位置正确
确保你的dmno视图文件(如dmno.html/dmno.jsp)放在视图解析器配置的对应目录下:
- Thymeleaf:
src/main/resources/templates/ - JSP:
WEB-INF/views/
3. 排查特殊情况
- 若使用Spring Boot,默认Thymeleaf配置已包含前缀和后缀,只需确认视图文件在
templates目录下即可。 - 检查是否误将
@Controller替换为@RestController(你的代码中是@Controller,此条可忽略)。
内容的提问来源于stack exchange,提问作者Quang Le
相关产品推荐
相关产品推荐

