首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法解析spring boot mvc中的视图名称

无法解析spring boot mvc中的视图名称
EN

Stack Overflow用户
提问于 2019-01-23 10:53:59
回答 2查看 752关注 0票数 0

我正在使用spring boot开发spring MVC应用程序。

我的pom.xml

代码语言:javascript
运行
复制
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <optional>true</optional>
</dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <!-- <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
    </dependency> -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <!-- <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-test</artifactId>
        <scope>test</scope>
    </dependency> -->
    <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-core -->
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-c3p0</artifactId>
</dependency>
    <!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
    <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>19.0</version>
    </dependency>

和我的控制器类:

代码语言:javascript
运行
复制
@EnableWebMvc
@Controller
public class RootController {
@RequestMapping("/")
public String home()

{
    return "index";
}

@RequestMapping("/next")
public String next()
{
    return "next";
}
}

应用程序主类

代码语言:javascript
运行
复制
@SpringBootApplication
@ComponentScan(basePackages= {"com.approot.controller"})
@EnableWebMvc
public class LimitBoApplication {

public static void main(String[] args) {
    SpringApplication.run(LimitBoApplication.class, args);
}

}

我的春天application.properties

代码语言:javascript
运行
复制
server.port =8090
spring.mvc.view.suffix=.jsp
server.servlet.context-path=/AppBO

当我运行这个应用程序时,我得到了下面的错误。

代码语言:javascript
运行
复制
   Could not resolve view with name 'index' in servlet with name 
  'dispatcherServlet'
   javax.servlet.ServletException: Could not resolve view with name 'index' 
   in servlet with name 'dispatcherServlet'
   at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1350)
   at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1116)
   at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1055)
   at  org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942)

我已经把我的jsp文件放在LimitBO\src\main\resources\templates里了,spring还是找不到jsp文件。

我在这里做错了什么?我尝试将这些jsp文件添加到资源文件夹中,但仍然不起作用。

EN

回答 2

Stack Overflow用户

发布于 2019-01-23 11:06:02

将您的.jsp文件移动到src/main/webapp/WEB-INF/jsp/,并将spring.mvc.view.prefix: /WEB-INF/jsp/添加到application.properties,您就不需要在RootController中使用@EnableWebMvc了。

希望这能有所帮助。

票数 0
EN

Stack Overflow用户

发布于 2019-01-23 11:55:53

创建Java配置并尝试如下所示:

代码语言:javascript
运行
复制
@Configuration
@EnableWebMvc
public class WebConfigMvc extends WebMvcConfigurerAdapter {

    @Bean
    public ViewResolver viewResolver () {
        InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
        viewResolver.setViewClass(JstlView.class);
        viewResolver.setPrefix("/WEB-INF/jsp"); //this is location you put jsp
        viewResolver.setSuffix(".jsp");
        return viewResolver;
    }
}

当用JSP呈现tomcat时,你需要添加依赖项。

代码语言:javascript
运行
复制
    <!-- Tomcat for JSP rendering -->
  <dependency>
     <groupId>org.apache.tomcat.embed</groupId>
     <artifactId>tomcat-embed-jasper</artifactId>
     <scope>provided</scope>
    </dependency>

如果配置不起作用。试着这样说:

代码语言:javascript
运行
复制
 spring.mvc.view.prefix = /WEB-INF/jsp/
   spring.mvc.view.suffix = .jsp
   spring.mvc.static-path-pattern=/resources/**
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54319396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档