我正在使用spring boot
,vaadin
和一些静态html页面(引导程序之类的ui框架)来构建Web应用程序。
我想在我的项目中同时拥有Vaadin
路由和静态html页面。
静态页面只是一个基本的index.html
页面,其中包含一些css
和js
。
1)如果我将index.html
放在webapp文件夹中,则可以从www.localhost:8080/
网址访问它,但是随后我从vaadin收到错误消息,说:
后端不接受对www.localhost:8080 /
的POST请求
(因为vaadin实际上将POST请求发送到该网址)
2)如果我添加了@Route("")
类,则index.html
无法访问躺椅,但是后端接受vaadin客户端的POST请求...
3)我不知道如何将静态html导入到@Route
类中。 (@HtmlImport不能)
有什么想法吗?
答案 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