如何构建包含vaadin路由和静态html页面的Spring启动项目

时间:2019-05-03 14:49:31

标签: java spring spring-boot vaadin vaadin-flow

我正在使用spring bootvaadin和一些静态html页面(引导程序之类的ui框架)来构建Web应用程序。

我想在我的项目中同时拥有Vaadin路由和静态html页面。

静态页面只是一个基本的index.html页面,其中包含一些cssjs

1)如果我将index.html放在webapp文件夹中,则可以从www.localhost:8080/网址访问它,但是随后我从vaadin收到错误消息,说:

  

后端不接受对www.localhost:8080 /

的POST请求

(因为vaadin实际上将POST请求发送到该网址)

2)如果我添加了@Route("")类,则index.html无法访问躺椅,但是后端接受vaadin客户端的POST请求...

3)我不知道如何将静态html导入到@Route类中。 (@HtmlImport不能)

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

如果您有一个Spring-boot Starter vaadin应用程序,则应该可以进行以下操作:

1)将您的静态页面(例如test.html)放在resources/static下。 (在Add a Home Page section下的Spring官方演示页面中有一个示例,其中简要说明了相应的文件夹)

2)在此之后使用带有@Controller的带注释的类指定映射规则


import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class GreetingController {

        @GetMapping(value = "/ownPage")
        public String index() {
                return "test.html";
        }

}

3)导航到yourURL\ownPage@GetMapping内部指定的任何路径值。这将返回test.html页面

答案 1 :(得分:0)

感谢cfrick提供了线索。更改了vaadin的servlet网址映射,并将index.html保留在同一位置。

对于有相同问题的人,这里的所有内容:Changing vaadin servlet url mapping