当javascript返回的条件时,如何在JSTL中使用if-else选项

时间:2013-12-05 15:16:39

标签: java javascript if-statement jstl

如果条件是javascript代码返回的变量

,如何在JSTL中使用if else

我需要在媒体是平板电脑或ipad时添加一些标签HTML,否则添加另一个标签HTML。

 <c:choose>
   <c:when test="${TabletMedia}">
      // Tags HTML
   </c:when>

   <c:otherwise>
     // other Tags HTML
   </c:otherwise>
  </c:choose>

function TabletteMedia() {

    if (navigator.userAgent.match(/(android|iphone|ipad|blackberry|symbian|symbianos|symbos|netfront|model-orange|javaplatform|iemobile|windows phone|samsung|htc|opera mobile|opera mobi|opera mini|presto|huawei|blazer|bolt|doris|fennec|gobrowser|iris|maemo browser|mib|cldc|minimo|semc-browser|skyfire|teashark|teleca|uzard|uzardweb|meego|nokia|bb10|playbook)/gi))
    {
        if (((screen.width >= 480) && (screen.height >= 800)) || ((screen.width >= 800) && (screen.height >= 480)) || navigator.userAgent.match(/ipad/gi))
        {
            return true;
        }
    }
    return false;

}

TabletMedia = TabletteMedia();

2 个答案:

答案 0 :(得分:0)

你不能这样做。 JSP页面和JSTL被编译成一个类,与运行任何JavaScript无关。 JSTL在服务器端运行,当它决定返回给客户端的静态内容(脚本和HTML)时。您可以使用JSTL来调整添加到JavaScript或HTML中的内容,但不能从中调用JavaScript,因为脚本在客户端(即浏览器)中运行,当页面加载时,所有静态内容都已返回由服务器。

如果您的条件仅在页面加载时可用,则您必须使用JavaScript而不是JSTL标记更改页面结构。

答案 1 :(得分:0)

你不能

由于

more