Spring mvc Конфигурация разрешения просмотра не отображается jsp страница - PullRequest
0 голосов
/ 15 марта 2020

Я новичок в весне mvc. Когда я запускаю этот URL: http://localhost: 8080 / spring- mvc -foundation / main / , я получаю "привет". Я ожидал выполнить страницу приветствия. jsp и получить вывод: Hello World TEST123

DispatcherInitializer. java:

                package com.oreilly.mvc;

            import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;

            public class DispatcherInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {

                @Override
                protected Class<?>[] getRootConfigClasses() {
                    return new Class[] {RootConfig.class};
                }

                @Override
                protected Class<?>[] getServletConfigClasses() {
                    return new Class[] {WebConfig.class};
                }

                @Override
                protected String[] getServletMappings() {
                    return new String[] {"/"};
                }

            }

RootConfig. java:

                package com.oreilly.mvc;

            import org.springframework.context.annotation.ComponentScan;

            @ComponentScan("com.oreilly.mvc.services")
            public class RootConfig {

            }

WebConfig. java:

                package com.oreilly.mvc;

            import org.springframework.context.annotation.Bean;
            import org.springframework.context.annotation.ComponentScan;
            import org.springframework.web.servlet.config.annotation.EnableWebMvc;
            import org.springframework.web.servlet.view.InternalResourceViewResolver;

            @EnableWebMvc
            @ComponentScan("com.oreilly.mvc.controllers")
            public class WebConfig {

                @Bean
                public InternalResourceViewResolver viewResolver() {

                    InternalResourceViewResolver viewResolverBean = new InternalResourceViewResolver();
                    viewResolverBean.setPrefix("/WEB-INF/views/");
                    viewResolverBean.setSuffix(".jsp");
                    return viewResolverBean;
                }
            }

MainController. java:

            package com.oreilly.mvc.controllers;

        import org.springframework.beans.factory.annotation.Autowired;
        import org.springframework.stereotype.Controller;
        import org.springframework.ui.Model;
        import org.springframework.web.bind.annotation.RequestMapping;
        import org.springframework.web.bind.annotation.ResponseBody;

        import com.oreilly.mvc.services.GreetingService;

        @Controller
        @RequestMapping("/main")
        public class MainController {

            @Autowired
            public GreetingService greetingService;

            @ResponseBody
            @RequestMapping("/")
            public String message(Model model) {
                model.addAttribute("message",this.greetingService.greet());
                return "hello";
            }
        }

привет. jsp:

                <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
                pageEncoding="ISO-8859-1"%>
            <!DOCTYPE html>
            <html>
            <head>
            <meta charset="ISO-8859-1">
            <title>Hello World Application</title>
            </head>
            <body>
            <h1>${message} TEST123</h1>
            </body>
            </html>

расположение jsp страницы привет. jsp:

enter image description here

вывод в браузере:

enter image description here

1 Ответ

0 голосов
/ 16 марта 2020

Удалить @ResponseBody аннотацию.

@ResponseBody - это аннотация Spring, которая связывает возвращаемое значение метода с телом веб-ответа. Это не интерпретируется как имя представления. Он использует конвертеры HTTP-сообщений для преобразования возвращаемого значения в тело HTTP-ответа на основе типа содержимого в заголовке HTTP-запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...