Spring返回String,但必须返回html

时间:2018-10-18 09:53:51

标签: java spring spring-mvc spring-boot

@RestController
public class ControllerCustomer {
    @RequestMapping("customer")
    public String customer(){
        return "customer";
    }

在模板文件夹中将customer.html文件

enter image description here

2 个答案:

答案 0 :(得分:0)

您已经配置了Spring MVC吗?

通过在Spring配置文件中添加以下代码来使用Spring MVC InternalResourceViewResolver:

 return this.http.get(this.configUrl)
                .map((response: Response) => {
                    return response.json()
                })
                .catch((err: any) => {
                    console.error(err);
                });

并且仅在控制器中返回“客户”

在注释驱动的配置中,应在扩展WebMvcConfigurerAdapter的配置类中设置InternalResourceViewResolver,如下所示:

<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>

这两行将完成所有的魔术工作。

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

它将客户设置为customer.html的位置,您的页面应位于/ WEB-INF / pages /中。

如果您使用的是Spring Boot,请在application.properties中添加这两个属性,

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

,并添加这两个依赖项。

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

名为customer.html的视图位于src / main / resources / templates中。

遵循此答案以完全理解。 By default, where does Spring Boot expect views to be stored?

请按照以下路线图提出一个好的问题,不要错过细节。 https://stackoverflow.com/help/how-to-ask 希望对您有帮助,祝您学习愉快。

答案 1 :(得分:0)

如果要使用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>