首页 > 解决方案 > 如果我使用手机,是否可以导航到 Vaadin 中的另一个页面?

问题描述

我想在 vaadin 中制作一个仅供移动使用的特殊页面。

假设我当前的主机页面是 localhost:8080. 如果我使用我的手机,那么我将首先被导航到 m.localhost:8080(或者可能localhost:8080/m)。

那可能吗?

我的移动页面将是我正确页面的简化页面。

标签: javavaadinvaadin-flowvaadin14

解决方案


如果您想为移动版本使用单独的主机名,那么最好在 Vaadin 以任何方式积极参与之前进行重定向。您可以使用例如检查所有请求并选择是否进行重定向或将请求传递给常规处理程序的 servlet 过滤器来执行此操作。为此,您可以查看User-Agent标题。约定是此标头值将在mobile某处包含希望被视为移动设备的设备的字符串。

另一种选择是使用相同的主机名并使用相同的 Vaadin 应用程序为这两个变体提供服务,但改为实现它以便例如您的主布局组件选择根据使用的设备进行不同的配置。为此,您还可以查看用户代理标头(使用VaadinRequest.getCurrent())。


推荐阅读