在我的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>
答案 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');
}
});