基于Web或移动应用程序视图限制JSP内容

时间:2016-09-29 10:34:50

标签: javascript jsp

在我的JSP页面中,我包含了另一个JSP,我希望根据源页面的视图来限制它,无论是移动还是网页。

<%@include file="/templates/jsp/header/search.jsp" %>

这是我的include语句,我有一个JavaScript函数,用于确定是否是桌面视图。以下是我的JS功能:

function isDesktopView(){
    if (bootstrapEnv == "lg" || bootstrapEnv == "md") {
        return true;
    }
}

我正在尝试像

这样的东西
<s:if test = "%{isDesktopView()}">
    <%@include file="/templates/jsp/header/search.jsp" %>
</s:if>

1 个答案:

答案 0 :(得分:0)

正如@AxelH在评论中所说,你正在混合使用JS和JSP。 JSP在页面发送到浏览器之前运行服务器端,JS由浏览器执行客户端。如果您希望页面包含服务器端,则可能需要将参数添加到发送的请求(mypage/home?isDesktopView=true)。在Controller中,您可以将参数添加到视图中,然后您可以使用您必须使用的代码来确定要包含的标头。

<s:if test = "%{isDesktopView()}">
    <%@include file="/templates/jsp/header/search.jsp" %>
</s:if>

另一个解决方案是在加载页面时检查屏幕大小(JS),然后将正确的内容加载到div中。这意味着两个单独的请求,但完成工作。虽然,如果它是您尝试包含的页眉,我不建议这样做。

$(function() {
    if(bootstrapEnv == "lg" || bootstrapEnv == "md") {
        $('#myDiv').load('/templates/jsp/header/search');
    }
});