java - 如何检查用户是否使用 Android 浏览器?

标签 java jquery jsp struts2

我的 Util.java 包含以下方法:

public static boolean isAndroid(HttpServletRequest request) {
    boolean retVal = false;     
    String browser = request.getHeader("User-Agent");
    if (browser != null && !browser.trim().equals("") && browser.contains("Android")) {
        retVal = true;
    }       
    return retVal;
}

下面是 BaseAction.java 中的代码(它也有 HttpServletRequest 类型的请求变量),它扩展了 ActionSupport 并实现了 ServletRequestAware、ServletResponseAware。

public boolean isAndroid(){
  return Util.isAndroid(request);
}

现在,我想在 JSP 中检查设备是否为 android 以及它是否正在执行特定操作,因此我使用以下代码:

<s:if test="%{#android=='false'}">
   <a href="/myUrl"></a>
</s:if>
<s:else>
  ....
</s:else>

但是上面的代码好像不行。任何人都可以建议为什么它不起作用以及是否有另一种方法来检查 JSP 以查看用户是否使用 Android 浏览器?

谢谢!

最佳答案

String userAgent = request.getHeader("User-Agent");
boolean isAndroid = (userAgent != null && !userAgent.isEmpty() && userAgent.toLowerCase().contains("android"));

关于java - 如何检查用户是否使用 Android 浏览器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7802662/

相关文章:

java - Hiveserver2 Java API

java - Cassandra setInputSplitSize 无法正常工作

javascript - jQuery:显示元素后隐藏元素?

jquery - 解析jquery中的日期选择器

java - 重构代码以删除 uuid

jsp - 为什么我会收到 Tomcat 错误 "HTTP Status 404 - The requested resource is not available."?

java - 如何将文件包含到 NetBeans 平台框架应用程序中

javascript - 如何在 jquery nextUntil 中选择每隔一个元素?

java - Servlet.service() 抛出 NullPointerException

java - 更新 Flux WebClient 中的授权 header