javascript - 基于应用程序的 Web 或移动 View 限制 JSP 内容

标签 javascript jsp

在我的 JSP 页面中,我包含另一个 JSP,并且我想根据移动或 Web 源页面的 View 来限制它。

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

这是我的 include 语句,我有一个 JavaScript 函数可以确定是否是桌面 View 。下面是我的 JS 函数:

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

我正在尝试类似的事情

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

最佳答案

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

<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');
    }
});

关于javascript - 基于应用程序的 Web 或移动 View 限制 JSP 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39767923/

相关文章:

javascript - 测试 javascript 1.2 的兼容性

javascript - 提交表单后,如何在 <div> 标记中呈现 Spring View (JSP)?

java - 如何绑定(bind) JSP 页面和 Controller 的 session 范围字段?

java - 显示从 servlet 到 jsp 的结果集值

javascript - 在单击处理程序中正确使用绑定(bind)和引用对象值

javascript - 仅使用服务器端脚本(无浏览器)解释 Javascript 代码

javascript - 如何将元素个性化为唯一标识符?

成功函数后javascript返回数据

java - 标签根据用途不同大小

java - web.xml 忽略主 JSP 文件