问题标签 [vaadin21]
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.
routes - Vaadin (Flow) 21 从 20 升级 - 所有路线突然返回 404
我最近尝试从 Vaadin 20 升级到 Vaadin 21。我按照升级指南进行操作,一切似乎都很好地开始,没有任何错误消息。但是当我尝试导航到任何路线时,只有我的路线MainLayout
被加载并且里面的所有内容都加载了未找到的页面(对于每条路线),日志中没有错误消息。在我看来,无论是可公开访问还是登录,路线都没有正确填充。
堆:
- 瓦丁 21.0.2
- 春季启动 2.4.4
- JDK 11
示例页面的标题配置:
未找到页面:
我的路由定义是否有问题,或者安全配置从 Vaadin 20 到 21 有什么变化?
vaadin - 最新的 Vaadin Start 生成的应用程序 - 带有流/混合视图的主布局主题中的错误?
我使用最新的 Vaadin Start 页面生成了一个应用程序框架(Vaadin 21 / Java 11)到目前为止它工作正常,我使用具有各种视图的混合模式。
单击菜单中的视图链接时,仅基于 TS+HTML 的视图将在 GUI 中注册为已选择并获得彩色的“选定/活动”样式。
当我生成一个只有 Flow 视图的应用程序时,第一个视图将被选中的样式卡住,但其他视图在单击时会正确注册。
只有当我生成一个只有 Fusion 视图的应用程序时,所有视图选择才会正确注册。
我想这是一个错误?
编辑:混合模式下的行为视频。菜单项名称对应于正在选择的视图类型。如您所见,只有融合视图在菜单中显示“选择”:
Edit2:我认为问题是在这里引起的:
似乎 appStore.location 不是从非 Fusion 视图中设置的。我在 index.ts eventListener 中放置了一个 console.log,非 Fusion 视图都只是将“(.*)”作为视图名称/位置传递,这就是失败的原因。
因此,java-class 中的 @Route(value = "view-name") 声明目前似乎没有正确传递。
BR丹尼尔
spring-boot - Vaadin 21 迁移到基于视图的访问控制 - RolesAllowed 不起作用
这是这个问题的后续问题。
我将我的 Vaadin 20 应用程序迁移到 21 以使用基于视图的访问控制。注释@PermitAll
和@AnonymousAllowed
工作正常。但是,当我尝试将路由限制为特定用户角色时,@RolesAllowed
我无法访问此站点(使用具有此角色的用户登录)。是否需要一些特殊代码才能让 Vaadin 识别我经过身份验证的用户的角色?
角色限制页面:
安全配置
vaadin - Vaadin 21 和 ApplicationLayout 的滚动问题
我对需要滚动的应用程序布局和视图有一个奇怪的问题:
如果我使用默认的应用程序布局创建一个应用程序,则抽屉切换位于顶部,我添加了一个具有全尺寸的 VerticalLayout 作为视图,一切都按预期工作。但是,如果垂直内容超过了浏览器窗口的高度(即使我将此内容放入滚动条中),整个视图都会滚动并消失在切换开关的后面,直到达到切换的高度,然后滚动停止。它的接缝setHeight(100, Unit.Percentage)
不考虑肘节的高度。
有人有类似的问题吗?
编辑
将以下代码作为视图放入 AppLayout 并在您的移动设备(例如 iPhone)上打开它,您将看到垂直滚动条:
应用布局:
java - Vaadin 21/Fusion - 从 Java 枚举生成的 ts 枚举模块将所有驼峰式大小写值更改为大写
我在尝试将组合框绑定到我的模型时遇到了这个问题。枚举值在后端提交到我的端点类时为空。
Java 枚举如下所示:
但是生成的 ts 枚举看起来像这样:
所有值都更改为大写,这就是绑定器无法匹配具有驼峰写法的绑定器的原因,从而导致该字段为空值。
这可以配置,这是设计使然,还是这是一个错误?
谢谢&BR丹尼尔
macos - 在 M1 上的 MacOS 12 Monterey 上的开发模式下 Vaadin / Webpack 出错
自从升级到 MacOS 12 / Monterey 后,尝试在开发模式下运行我的应用程序时遇到错误。
为了验证这个问题,我从 start.vaadin.com 创建了一个全新的 Starter App。我使用了 JDK 11 和 Vaadin 21,因为这是我的其他项目使用的。
我正在使用 IntelliJ Ultimate 进行开发
当我尝试从 IntelliJ 中启动我的项目时,正如我之前多次这样做的那样,项目启动,开始像往常一样编译前端,正在写入“前端编译成功”,然后失败并显示以下消息
而且我无法访问该网页。从命令行以生产模式启动时,一切正常。
谁能给我一些指示这里出了什么问题?
vaadin - Vaadin 21 菜单栏与导航选项卡
上下文:Vaadin 21,Java 8。
在 Vaadin 21 示例应用程序(来自https://start.vaadin.com/app/)之上,我编写了自己RouterLayout
的导航栏,中间是正文,底部是页脚(作为MainLayout
示例中的交换应用)。
在导航栏中,我放了一个MenuBar
(https://vaadin.com/docs/latest/ds/components/menu-bar),其中包含一些RouterLink
s。
当用户单击RouterLink
s 中的一个时MenuBar
,整个页面都会刷新,并且 my 也RouterLayout
被重新实例化(= 调用构造函数)。
当我MenuBar
通过一个Tabs
组件(https://vaadin.com/docs/latest/ds/components/tabs)交换时,然后像以前一样单击RouterLink
只是交换正文中的内容RouterLayout
(如预期的那样)。
我在https://vaadin.com/docs/latest/ds/components/menu-bar知道这个提示,但我不知道为什么MenuBar
和之间有区别Tabs
:
菜单栏不应用于导航。使用选项卡在内容之间切换,或使用锚元素进行常规导航。
所以我的问题是:
- 为什么导航之间
MenuBar
和Tabs
导航之间存在差异(页面刷新),即使我RouterLink
在两种情况下都使用相同的代码进行创建? - 为什么
MenuBar
不应该用于导航? - 有没有办法在不刷新页面的情况下进行导航
MenuBar
?
vaadin - Vaadin 21 流。如何迁移曾经有一个带边框的面板的 CustomLayout
使用 vaadin 7(我们正在尝试迁移到 v21,非常非常困难)我们有这个
基本上是一个带有边框和标题边框的面板我们如何在 vaadin flow v21 中做到这一点
提前致谢
java - 在 Vaadin 20 中运行良好的 HTML 图标在 Vaadin 21 中运行良好
在 Vaadin 20 中,我可以添加一个图标作为 Java 组件:
add(new Icon("vaadin", "check));
或在 HTML 中:
<iron-icon icon=vaadin:check></iron-icon>
除了 Vaadin 版本,在 Vaadin 21 中,第一个显示一个图标,第二个是空白的。我已经浏览了 Vaadin 21 文档,但我看不到有关格式更改的任何内容,这是怎么回事?
java - Vaadin 21 查看角色
我想将我的 Vaadin 应用程序重写为 Vaadin 21。使用 Vaadin 入门构建器 ( https://vaadin.com/start ) 我创建了一个简单的应用程序。目前我的主要斗争是将我的简单应用CustomAuthenticationProvider
到安全管理器以能够使用@RolesAllowed
({ "user", "admin","USER"}) 注释。
我的 AuthToken 在其他地方生成的主要问题...... 它在某处生成一个空的授权权限并忽略我的自定义 AuthProvider 代码。
问题:如何很好地处理基于角色的访问控制?
我可以正确使用此注释的地方:
登录后控制台:
SecurityConfiguration.java
CustomAuthenticationProvider.java