【问题标题】:Tabris, Eclipse RAP: Is there a public API to get to know which client has requested the page?Tabris,Eclipse RAP:是否有公共 API 可以了解哪个客户端请求了该页面?
【发布时间】:2012-07-27 13:50:32
【问题描述】:

我正在使用 Eclipse RAP 编写 RAP 应用程序。客户端可以是任何浏览器、iPad 或安卓平板电脑(使用 Tabris)。有没有机会找出哪个客户端发送了请求?

我的问题的背景是:Tabris 直到现在才支持 SashForms。出于这个原因,我想渲染一个 SashFrom 以防我正在为 Web 客户端提供服务,但如果为 android 客户端提供服务,我不想创建 SashForm。我可以这样做:

public static boolean isAndroid() {
    return getUserAgent().contains(Constants.ID_ANDROID);
}

private static String getUserAgent() {
    return RWT.getRequest().getHeader(Constants.USER_AGENT);
}

public static boolean isIos() {
    return getUserAgent().contains(Constants.ID_IOS);
}

public static boolean isWeb() {
    return !isAndroid() && !isIos();    
}

但我想避免这种方法,因为它使用内部 API,并且由于我使用的是独立 RAP,我需要将 servlet-api.jar 添加到 WEB-INF/lib 文件夹以使其运行,即也不是很好。

提前感谢您的帮助和信息, 托比亚斯。

【问题讨论】:

    标签: mobile eclipse-rap


    【解决方案1】:
    【解决方案2】:

    替代使用 ClientDevice 的另一种方法是使用 RWT.getClient()。

    if(RWT.getClient() instanceof WebClient ) { …… }

    这有时很有用,因为如果 Web 客户端访问应用程序,ClientDevice 可以为空。这是一个客户端服务,只对移动客户端atm有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-07
      • 2016-08-03
      • 2011-03-03
      • 2019-04-20
      相关资源
      最近更新 更多