我需要获取当前服务器名称以及存储在URI
. 在 Vaadin 8 中,可以通过Page
调用如下内容来访问它:
URI uri = Page.getCurrent().getLocation();
Run Code Online (Sandbox Code Playgroud)
据我所知也没有Router
。
我如何获得URI
?
先感谢您。
我想向我的网络应用程序添加一个上传按钮。在 HTML 模板中,我添加了:
<link rel="import" href="../../../bower_components/vaadin-upload/src/vaadin-upload.html">
<h2 id="header-Upload">Upload</h2>
<vaadin-upload nodrop/>
Run Code Online (Sandbox Code Playgroud)
我现在想在我的后端 Vaadin 进程中接收流。然后可以将该流插入数据库中。
https://vaadin.com/components/vaadin-upload/html-examples/upload-basic-demos上的文档未提供此信息。
我相信我应该以某种方式将 a 链接StreamReceiver
到<vaadin-upload>
有问题的问题,但我不知道该怎么做。
我正在使用 Vaadin Flow(版本 12)。
附加信息
我尝试了以下方法:
在 HTML 中:
<vaadin-upload id="upload" nodrop/>
Run Code Online (Sandbox Code Playgroud)
在爪哇中:
public class MyView extends PolymerTemplate<Model> {
private final MemoryBuffer buffer = new MemoryBuffer();
@Id("upload")
private final Upload upload = new Upload(buffer);
public MyView() {
upload.addSucceededListener(event -> {
System.out.println(event.getFileName());
System.out.println(buffer.getInputStream());
});
}
}
Run Code Online (Sandbox Code Playgroud)
当我上传文件时,出现以下异常:
[qtp162821120-20] ERROR com.vaadin.flow.server.DefaultErrorHandler -
com.vaadin.flow.server.UploadException: Upload failed
at com.vaadin.flow.server.communication.StreamReceiverHandler.streamToReceiver(StreamReceiverHandler.java:429)
Caused by: java.lang.IllegalStateException: …
Run Code Online (Sandbox Code Playgroud) 我的理解是Vaadin 10+的主要主题之一是响应式布局。因此,当“水平布局”和“垂直布局”似乎不支持响应式设计时,我感到惊讶。(我转为使用App Layout,这似乎可行。)但是,在我的App布局中,我倾向于使用Vertical Layouts和Horizontal Layouts放置聚合物组件-我想它们不会响应,因为我没有不要认为Vaadin的水平/垂直布局遵循响应主题。我们是否应该使用替代布局组件,或多或少地实现“响应式水平布局”等?
与此相关的是,假设所有预先构建的Vaadin 10/12 +聚合物组件(水平和垂直布局除外)都是自动响应的,例如网格,表格和标签,是否合理,例如,如果用户在他的电话上,正在寻找一个标签,该标签具有这些Vaadin组件可以在电话上“很好地”呈现(即遵循其他框架(如react.js等)的响应式布局)的形式?