问题标签 [vaadin-spring-boot]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
39 浏览

spring - productionMode=true 不会禁用 ?args

application.properties我指定:

并重新启动应用服务器。但是,我仍然可以通过?restartApplication在 url 末尾添加来重新启动应用程序。根据文档,productionMode=true 可以解决这个问题。问题是——我错过了什么吗?

谢谢

0 投票
2 回答
784 浏览

css - 在 Spring Boot vaadin 应用程序中使用多个主题

默认情况下,我们可以通过使用@Theme(themename). 在我的特殊情况下,我用 注释了@Theme(ValoTheme.THEME_NAME),但还没有结束。不幸的是,我不知道如何在不处理 css 和额外文件的情况下为布局设置背景(这似乎是唯一不可避免的解决方案)。

如何同时使用主题 valotheme 和 custom(仅用于设置背景图像)?

非常感谢您的建议

0 投票
1 回答
1448 浏览

java - Vaadin - Spring Boot 自定义 Servlet 上的 productionMode

我正在尝试将我的项目置于生产模式,但没有运气:(

启动日志上的一切似乎都很好:

但是当我访问我的应用程序时:

我正在为 vaadin 使用自定义 servlet,如果我对其进行评论(并使用 vaadin spring boot auto config 提供的默认值),则不会出现 DEBUG 信息...

有人知道我在做什么错吗?

0 投票
1 回答
682 浏览

spring-boot - 添加 VaadinSecurity 时出错:如果您正在 @ComponentScanning 一个 springframework 包,也会发生这种情况

当我尝试自动装配 VaadinSharedSecurity 以管理我的登录和注销以及从此依赖项的授权时出现此错误:

没有 VaadinSharedSecurity 我的项目正常工作,当我添加它时,我有这个错误:

这是我的项目:https ://github.com/Aladdinko/VaadinBootMVP

在我的示例中,我曾经在我的 AdminView.class 中显示一个按钮创建帐户,角色是管理员,请有人知道吗?谢谢

0 投票
0 回答
1006 浏览

java - Vaadin Grid 自定义渲染器不工作

如果用户无权阅读它,我想为我的一些网格列构建一个自定义渲染器以隐藏文本。即使用户无法读取数据,仍然可以访问数据仍然很重要。所以我写了一个自定义渲染器,如下所示:

然后我按照本教程https://vaadin.com/docs/-/part/framework/clientsidewidgets/clientsidewidgets-grid.html编写了渲染器的服务器端

最后是连接这些组件的连接器:


但是现在当我尝试使用如下连接器时:

网格不再显示任何包含字符串的列。

我真的不知道我做错了什么,但我认为这可能与连接器注释没有按预期工作有关,因为当我尝试调试客户端逻辑时,它甚至没有被调用。有人可以指出我缺少哪些步骤吗?

亲切的问候,法比安

0 投票
1 回答
130 浏览

java - 自动装配的 vaadin 组件获取索引 -1

我使用vaadin-spring。我创建了public abstract class AbstractBasicVerticalLayoutWithMenu extends HorizontalLayout implements View两个普通类来扩展它。在抽象类 I @AutowireMenu 组件中定义:

@UIScope @SpringComponent public class Menu extends CssLayout

两个类都有注释

@UIScope @SpringView

我在其中一个视图中有一个非常奇怪的问题,即我的菜单组件没有显示。

我做了一些挖掘并添加了日志记录。上

@Override public void enter(ViewChangeEvent event)

方法我添加了日志记录并尝试了很多方法,我发现当我执行 this.getComponentIndex(menu)错误的视图组件时索引为-1!

有趣的是,如果我从导航器中删除正确显示的视图(我这样做了:),getNavigator().addView(FirstTesterView.VIEW_NAME, firstTesterView);那么这个不正确的视图就会恢复正确。

我不知道为什么,但看起来只有扩展 acstract 的实例化类中的第一个获得 @Autowired 组件,而不是下一个。

我做错了什么?

0 投票
1 回答
51 浏览

eclipse - Eclipse 不知道 Maven 依赖项

我想创建一个 Vaadin Spring 项目。为此,我计划遵循本教程:

http://vaadin.github.io/spring-tutorial/

然而,最奇怪的事情一开始就发生了。

我使用 Spring Initializr 创建项目:

在此处输入图像描述

然后我想创建一个简单的“Hello world”-UI。为此,我创建了一个类并编写了以下代码(按照教程):

问题是:Eclipse 没有给我导入 UI 类的选项:

在此处输入图像描述

如您所见,Eclipse 似乎不知道可以导入任何类来消除错误消息。

疯狂的是,如果您查看项目中的 Maven-Dependencies 文件夹,一切都在那里!以下屏幕截图显示了所有 Maven 依赖项的一部分:

在此处输入图像描述

这里还有一些依赖:

在此处输入图像描述

起初我以为 Eclipse 坏了.. 所以我删除了我的安装并安装了最新版本的 Eclipse。

但是,问题与以前完全相同。

我不知道这里到底发生了什么!

0 投票
0 回答
1598 浏览

data-binding - Vaadin-Grid 不显示它应该显示的数据库中的数据

我正在编写一个 Vaadin Spring 应用程序,并且存在来自数据库的数据未显示在网格中的问题(= 用于显示表的 Vaadin 8 UI 组件)。

我怀疑错误可能出现在哪里(请参阅我在本文末尾的评论)。

其他一切(除了未在网格中显示的数据)工作正常。数据库表是在 Spring JPA 注释的帮助下自动创建的,网格在 UI 中很好地显示,等等……只有数据库中的数据没有显示在网格中。

对于这个问题,我创建了一个新的迷你项目。您可以在下面找到此迷你项目的代码。用户界面只包含一个网格,它应该显示数据库的内容。(由于 Grid 不显示任何内容,因此 UI 基本上是一个空框架,请参见最后一个屏幕截图)。

这个迷你项目中的问题与原始(更大)项目中的问题相同:数据库中的数据没有显示在网格中。

该迷你项目称为“演示”,是在 SpringInitializr 的帮助下创建的。选定的依赖项显示在以下屏幕截图中:

在此处输入图像描述

我的演示应用由 3 个小包组成:model、database_access 和 ui:

在此处输入图像描述

该模型由一个名为“Person”的类组成。这是这个文件的代码:

数据库访问包由 3 个文件组成:

PersonRepository、PersonService 和 PersonServiceImpl

... 其中 PersonServiceImpl 是 PersonService 接口的实现。

这是 PersonRepository:

这是人员服务:

这是PersonServiceImpl:

ui包由以下四个文件组成:GUI、PersonsView、PersonsGrid和PersonDataProvider

图形用户界面:

人员视图:

人员网格:

个人数据提供者:

application.properties 文件如下所示:

我在数据库中插入了两个人(比尔和乔治):

在此处输入图像描述

但是,这些人不会显示在网格中,如以下屏幕截图所示:

在此处输入图像描述

在为 Grid (PersonGrid) 和 DataProvider (PersonDataProvider) 编写代码时,我遵循了来自 Internet 的示例(例如http://vaadinhelp.co.in/vaadin-dataprovider-example/

...我的怀疑是这两个文件之一(即PersonGrid 和PersonDataProvider)中缺少或错误的东西。

然而,我不知道是什么。

************************************更新************* ******************************

我在 PersonsView-Class 的初始化函数中添加了以下两行:

重新启动应用程序后,网格中现在有 3 行(一用于标题,一用于“George”,一用于“Bill”)。

但是:行未正确显示,如您在以下屏幕截图中所见:

在此处输入图像描述

在左上角,您可以看到三行的开头,但没有显示任何列。

我必须做什么才能正确显示数据?

*******************************更新2****************** ************************

显然,在 ResultSet 关闭后,某些 SQL 操作是不允许的(见下面的截图)。我不知道这意味着什么。

在此处输入图像描述

0 投票
1 回答
1015 浏览

java - Vaadin Spring 应用程序无法访问图像

在此处给出的示例中:

https://vaadin.com/docs/framework/application/application-resources.html

图像文件夹放在应用程序的 WEB-INF 目录中。

在我的 Vaadin Spring 应用程序中,我没有 WEB-INF 目录,所以我将 images 文件夹放在“resources”文件夹中。以下是“src/main/resources”和“target”内部的文件夹结构:

在此处输入图像描述

问题是我的应用程序无法访问那里的图像。我总是得到相同的“找不到文件”异常。

我尝试了不同的路径描述,其中包括以下内容:

...没有任何效果!

如何使我的 Vaadin Spring 应用程序可以访问这些图像?

0 投票
3 回答
7961 浏览

java - 如何使用相对于应用程序的文件路径在服务器上创建文件?

在我的 Vaadin spring boot 应用程序中,我需要将文件上传到服务器并保存在那里。

将文件本地上传到我的桌面工作正常,但我想将应用程序部署到服务器,所以我想将上传的文件保存在相对于我的应用程序基本路径的目录中。

我创建了一个名为“input_files”的文件夹作为根应用程序文件夹(applicationName -> input_files)的直接子文件夹。当一个文件被上传时,文件的内容应该被写入这个“input_files”文件夹内的一个新创建的文件中。

代码:

重要的代码行是这样的:

这条线不起作用。文件夹内没有创建input_files文件。

********************************更新***************** *****************

屏幕上显示的错误信息:

在此处输入图像描述

控制台中的错误消息: