idea出现 无法解析MVC“xxx” 以及 “index”无法找到

无法解析MVC“xxx” 以及 “index”无法找到

报错详情

  1. jar包依赖未引入

正确maven构建jar包如下

<!--Spring5 Thymeleaf整合-->
        <dependency>
            <groupId>org.thymeleaf</groupId>
            <artifactId>thymeleaf-spring5</artifactId>
            <version>3.0.14.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.thymeleaf</groupId>
            <artifactId>thymeleaf</artifactId>
            <version>3.0.14.RELEASE</version>
        </dependency>
  1. 配置文件配置错误,以及配置文件上下文路径设置错误

配置文件如下

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="
       http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/context
       http://www.springframework.org/schema/context/spring-context.xsd
       http://www.springframework.org/schema/mvc
       http://www.springframework.org/schema/mvc/spring-mvc.xsd">
       <!--     使用thymeleaf解析 -->
   <!-- <bean id="templateResolver"
          class="org.thymeleaf.spring5.templateresolver.SpringResourceTemplateResolver">
        <property name="prefix" value="/WEB-INF/templates/"/>
        <property name="suffix" value=".html"/>
        <property name="characterEncoding" value="UTF-8"/>
        <property name="order" value="1"/>
        <property name="templateMode" value="HTML5"/>
        <property name="cacheable" value="false"/>
    </bean>

        <bean id="springTemplateEngine"
              class="org.thymeleaf.spring5.SpringTemplateEngine">
            <property name="templateResolver" ref="templateResolver"/>
        </bean>

        <bean id="viewResolver" class="org.thymeleaf.spring5.view.ThymeleafViewResolver">
            <property name="templateEngine" ref="springTemplateEngine"/>
            <property name="characterEncoding" value="UTF-8"/>
        </bean>-->

    <!--设置静态资源解析使用DefaultServlet处理,否则使用SpringDispatcherServlet解析的是根目录,也就是没有对应RequestMapping无法访问!-->
    <mvc:default-servlet-handler/>
    <!--开启注解驱动,否则使用View-Controller(视图控制器)时Controller视图解析全部无法使用-->
    <mvc:annotation-driven>
        <mvc:message-converters>
            <!-- 处理响应中文内容乱码 -->
            <bean
                    class="org.springframework.http.converter.StringHttpMessageConverter">
                <property name="defaultCharset" value="UTF-8" />
                <property name="supportedMediaTypes">
                    <list>
                        <value>text/html</value>
                        <value>application/json</value>
                    </list>
                </property>
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven>
    <!--使用视图控制器  必须配置 <mvc:annotation-driven  否则会造成所有的@Controller注解无法解析,导致404错误-->
    <mvc:view-controller path="/" view-name="index"/>
  1. 配置文件不生效,依旧报错视图MVC无法解析,可以使用配置类解决
package com.bookstore.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.FilterType;
import org.springframework.stereotype.Controller;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.thymeleaf.spring5.SpringTemplateEngine;
import org.thymeleaf.spring5.templateresolver.SpringResourceTemplateResolver;
import org.thymeleaf.spring5.view.ThymeleafViewResolver;

/**
 * @Author BaiYZ
 * @Program BookStoreFrameWork
 * @Description SpringMVC配置类
 * @Date 2022-01-03 13:41:45
 */

@Configuration
@EnableWebMvc
@ComponentScan(value = "com.bookstore.controller", includeFilters = {@ComponentScan.Filter(type = FilterType.ANNOTATION, classes = Controller.class)})
public class SpringMVCConfig implements WebMvcConfigurer {
    public final static String CHARACTER_ENCODING = "UTF-8";

    // thymeleaf模板引擎参数
    public final static String TEMPLATE_PREFIX = "/WEB-INF/templates/";
    public final static String TEMPLATE_SUFFIX = ".html";
    public final static Boolean TEMPLATE_CACHEABLE = false;
    public final static String TEMPLATE_MODE = "HTML5";
    public final static Integer TEMPLATE_ORDER = 1;


    //模板解析器
    @Bean
    public SpringResourceTemplateResolver templateResolver() {
        SpringResourceTemplateResolver templateResolver = new SpringResourceTemplateResolver();
        templateResolver.setPrefix(TEMPLATE_PREFIX);
        templateResolver.setSuffix(TEMPLATE_SUFFIX);
        templateResolver.setCacheable(TEMPLATE_CACHEABLE);
        templateResolver.setCharacterEncoding(CHARACTER_ENCODING);
        templateResolver.setTemplateMode(TEMPLATE_MODE);
        templateResolver.setOrder(TEMPLATE_ORDER);
        return templateResolver;
    }

    //模板引擎
    @Bean
    public SpringTemplateEngine springTemplateEngine(SpringResourceTemplateResolver templateResolver) {
        SpringTemplateEngine springTemplateEngine = new SpringTemplateEngine();
        springTemplateEngine.setTemplateResolver(templateResolver);
        return springTemplateEngine;
    }

    //视图解析器
    @Bean
    public ThymeleafViewResolver viewResolver(SpringTemplateEngine springTemplateEngine) {
        ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();
        viewResolver.setTemplateEngine(springTemplateEngine);
        viewResolver.setCharacterEncoding(CHARACTER_ENCODING);
        return viewResolver;
    }


/*    //使用默认的servlet处理静态资源 default-servlet-handler
    public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
        configurer.enable();
    }

    //配置视图控制
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addViewController("/").setViewName("index");
    }*/
}

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
IDEA无法解析符号是指在使用IDEA编写代码时,出现了"无法解析符号"的错误提示,但程序可以正常运行。这个问题在编码过程中比较常见,有几种可能的原因可以导致这个问题的发生。其中一种可能是编译器没有正确地识别到相关的类或方法。这可能是由于缺少必要的依赖库或者类路径配置错误所导致的。另一种可能是代码中存在语法错误或者拼写错误,导致编译器无法正确解析相应的符号。最后,这个问题也有可能是IDEA本身的一个bug所导致的,虽然程序可以正常运行,但是IDEA仍然给出了错误的提示。在解决这个问题时,我们可以尝试以下几个方法: 1. 确保项目的依赖库已正确添加。可以检查项目的依赖配置,确保所有需要的依赖库都已正确添加,并且类路径设置正确。如果存在缺少的依赖库,需要手动添加或者更新依赖。 2. 检查代码中是否存在语法错误或者拼写错误。可以仔细检查代码,特别是出现错误提示的地方,查看是否存在语法错误、拼写错误或者其他常见的编码错误。如果发现错误,需要及时修复。 3. 尝试重新构建项目。有时候,重新构建项目可以解决一些编译器无法解析符号的问题。可以尝试重新构建项目,然后再次运行程序,看是否问题得到解决。 4. 更新IDEA版本或者尝试其他IDE。如果以上方法都没有解决问题,可以尝试更新IDEA到最新版本,或者尝试其他的集成开发环境来编写代码。有时候,问题可能是由于IDEA本身的一个bug所导致的,更新到最新版本可以修复这个问题。 总结来说,IDEA无法解析符号问题可能是由于缺少依赖、语法错误、拼写错误或者IDEA本身的bug所导致的。可以通过添加依赖、修复代码错误、重新构建项目或者更新IDEA版本来解决这个问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [【IDEA问题】:IDEA检查“无法解析符号”(Cannot resolve symbol “xxx“)但程序可以正常运行](https://blog.csdn.net/qihang_1217/article/details/126781981)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不会拯救世界的SuperMan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值