如果条件是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();
答案 0 :(得分:0)
你不能这样做。 JSP页面和JSTL被编译成一个类,与运行任何JavaScript无关。 JSTL在服务器端运行,当它决定返回给客户端的静态内容(脚本和HTML)时。您可以使用JSTL来调整添加到JavaScript或HTML中的内容,但不能从中调用JavaScript,因为脚本在客户端(即浏览器)中运行,当页面加载时,所有静态内容都已返回由服务器。
如果您的条件仅在页面加载时可用,则您必须使用JavaScript而不是JSTL标记更改页面结构。
答案 1 :(得分:0)