使用手册的示例代码在 Vaadin Flow 中编写 `UI` 子类
Posted
技术标签:
【中文标题】使用手册的示例代码在 Vaadin Flow 中编写 `UI` 子类【英文标题】:Using manual’s example code for writing a `UI` subclass in Vaadin Flow 【发布时间】:2018-11-12 22:43:38 【问题描述】:在Differences Between V10 and V8 Applications 的手册页面上,有此示例代码供那些想要编写 UI
子类的人使用,就像我们在 Vaadin 8 中所做的那样,尽管在 Vaadin Flow 中不再需要。
(将原来的 mydomain-dot-com 更改为 example.com
以安抚 Stack Overflow 审查机器人)
@WebServlet(urlPatterns = "/*", name = "myservlet", asyncSupported = true,
// Example on initialization parameter configuration
initParams =
@WebInitParam(name = "frontend.url.es6", value = "http://example.com/es6/"),
@WebInitParam(name = "frontend.url.es5", value = "http://example.com/es5/") )
// The UI configuration is optional
@VaadinServletConfiguration(ui = MyUI.class, productionMode = false)
public class MyServlet extends VaadinServlet
// this is not necessary anymore, but might help you get started with migration
public class MyUI extends UI
protected void init(VaadinRequest request)
// do initial steps here.
// previously routing
从语法上讲,这要么不正确,要么被写入两个单独的.java
文件。
还是应该在 MyUI
类中设置 MyServlet
类,就像在 Vaadin 8 中默认设置的那样?像这样:
package com.raddkit;
import com.vaadin.flow.component.UI;
import com.vaadin.flow.server.VaadinRequest;
import com.vaadin.flow.server.VaadinServlet;
import com.vaadin.flow.server.VaadinServletConfiguration;
import javax.servlet.annotation.WebInitParam;
import javax.servlet.annotation.WebServlet;
public class MyUI extends UI
protected void init ( VaadinRequest request )
@WebServlet ( urlPatterns = "/*", name = "myservlet", asyncSupported = true,
// Example on initialization parameter configuration
initParams =
@WebInitParam ( name = "frontend.url.es6", value = "http://example.com/es6/" ) ,
@WebInitParam ( name = "frontend.url.es5", value = "http://example.com/es5/" ) )
// The UI configuration is optional
@VaadinServletConfiguration ( ui = MyUI.class, productionMode = false )
public class MyServlet extends VaadinServlet
【问题讨论】:
奇怪,真的。但我只会做单独的文件。 【参考方案1】:该示例旨在写入两个单独的 .java 文件。或者,您可以将 servlet 定义为公共 static 内部类,包含在 UI 类中。在这种情况下,@VaadinServletConfiguration
的 ui
属性默认为封闭 UI。
【讨论】:
以上是关于使用手册的示例代码在 Vaadin Flow 中编写 `UI` 子类的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Vaadin Flow 14 中创建一个简单的 HTML 表格
Vaadin 21 Flow + Spring Security OAuth2:找不到'oauth2/authorization/google'的路由