在我的JSP页面中,我包含了另一个JSP,我希望根据源页面的视图来限制它,不管是移动的还是web的。
<%@include file="/templates/jsp/header/search.jsp" %>这是我的包含语句,我有一个JavaScript函数,它决定是否是桌面视图。以下是我的JS功能:
function isDesktopView(){
if (bootstrapEnv == "lg" || bootstrapEnv == "md") {
return true;
}
}我试着做些像
<s:if test = "%{isDesktopView()}">
<%@include file="/templates/jsp/header/search.jsp" %>
</s:if>发布于 2016-09-29 18:31:06
正如@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');
}
});https://stackoverflow.com/questions/39767923
复制相似问题