Spring возвращает String, но должен возвращать HTML - PullRequest
0 голосов
/ 18 октября 2018
@RestController
public class ControllerCustomer {
    @RequestMapping("customer")
    public String customer(){
        return "customer";
    }

Файл customer.html в папке шаблонов

enter image description here

Ответы [ 2 ]

0 голосов
/ 18 октября 2018

Если вы хотите использовать jsp, создайте папку

main -> 
      webapp -> 
        WEB-INF-> 
          views

Поместите свою страницу jsp в папку views.Теперь в вашем application.properties добавьте эти строки

spring.mvc.view.prefix:/WEB-INF/views/
spring.mvc.view.suffix:.jsp

Теперь в вашем pom.xml добавьте эти зависимости

<dependency>
            <groupId>jstl</groupId>
            <artifactId>jstl</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
</dependency>
0 голосов
/ 18 октября 2018

Вы сконфигурировали Spring MVC?

Используйте Spring MVC InternalResourceViewResolver, добавив в конфигурационный файл Spring следующее:

<bean id="viewResolver"
    class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="prefix" value="/WEB-INF/pages/"></property>
    <property name="suffix" value=".html"></property>
 </bean>

и возвращайте «customer» только в контроллере

В вашей конфигурации, управляемой аннотациями, InternalResourceViewResolver должен быть установлен в классе конфигурации, который расширяет WebMvcConfigurerAdapter, например, так:

@Bean
public ViewResolver getViewResolver(){
    InternalResourceViewResolver resolver = new InternalResourceViewResolver();
    resolver.setPrefix("/WEB-INF/pages/");
    resolver.setSuffix(".html");
    return resolver;
}

Эти две строки сделают всю магию.

  resolver.setPrefix("/WEB-INF/pages/");
  resolver.setSuffix(".html");

где он установит для клиента customer.html, и ваши страницы должны быть в /WEB-INF/pages/.

Если вы используете загрузочный Spring, добавьте эти два свойства в application.properties,

  spring.mvc.view.prefix=/view/
  spring.mvc.view.suffix=.jsp

, а также добавьте эти две зависимости.

 <dependency>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf</artifactId>
 </dependency>

 <dependency>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf-spring4</artifactId>
</dependency>

Представления, названные как customer.html, размещенные в src / main / resources / templates.

Следуйте этому ответу для полного понимания. По умолчанию, где Spring Boot ожидает сохранения представлений?

Пожалуйста, следуйте этим планам, чтобы задать хороший вопрос, не пропустите детали.https://stackoverflow.com/help/how-to-ask Надеюсь, эта помощь, Счастливого обучения.

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