【问题标题】:Using <jsp:include in div tag在 div 标签中使用 <jsp:include
【发布时间】:2014-07-26 16:27:12
【问题描述】:

我正在开发一个通过 JSP 创建三个 div 的 Web 应用程序。菜单 div 使用 AJAX 调用 JavaScript 函数,该函数生成 JSP 包含,如

<jsp:include flush="true" page="screenName.jsp" />

每个菜单项都有一个单独的屏幕 JSP。

AJAX 将 JSP 作为 TEXT/HTML 内容类型加载到详细 div 标记中。我在浏览器的 div 中看到 JSP 包含声明,而不是 JSP 包含文件的内容。

当从菜单请求新屏幕时,如何让浏览器动态执行我的 JSP 包含的内容,而不仅仅是显示 JSP 包含语法?

提前感谢您的帮助。

布兰登

【问题讨论】:

  • 请发布您的 Javascript 函数。听起来您只是在客户端的 jsp 包含中添加。 JSP 是一种服务器端技术,用户的浏览器不会为你执行包含...
  • 感谢您的帖子。我的 JavaScript 是:codefunction getMenuItemScreen(menuString) { var queryString // 获取菜单项屏幕 queryString = "contentType=TEXT/HTML" + "&className=ETSUserEnvironment" + "&methodName=getMenuItemScreen" + "&menuString=/jsp/screens /ets/etsUserSetup.jsp" processSynchHttpRequest( url, queryString, requestType, responseType, "detailContainer", "") }
  • 感谢您的帖子。我的 JavaScript 是: function getMenuItemScreen( menuString ) { var queryString // 获取菜单项屏幕 queryString = "contentType=TEXT/HTML" + "&className=ETSUserEnvironment" + "&methodName=getMenuItemScreen" + "&menuString=/jsp/screens/ets/ etsUserSetup.jsp" processSynchHttpRequest( url, queryString, requestType, responseType, "detailContainer", "" ) } 如您所见,此 JavaScript 函数调用 AJAX 并传递屏幕名称。 Java 创建
  • 我创建了一个将我的 AJAX 请求转发到 JSP 的 servlet。 JSP 屏幕在 div 中加载,但 JavaScript 不会在页面上执行。浏览器说这些功能不存在,即使它们显示在查看源代码中。有什么想法吗?
  • 如果 JavaScript 嵌入在使用 innerHTML 添加的 HTML 中,则它不会运行。这是为了安全。是否可以确保初始页面已经加载了 Javascript 函数?

标签: jsp


【解决方案1】:

为确保您的 JSP 在服务器上执行,您的 AJAX 函数应直接调用 jsp 而不是插入 jsp:include 标记。您可以向转发到 JSP 的 Servlet 发出请求。这将确保运行 JSP,该 JSP 将输出您的 AJAX 处理程序能够插入到页面中的 HTML。

任何嵌入的 Javascript 都不会运行,但是 JavaScript 函数需要已经在页面上(或在初始页面加载的外部文件中)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-25
    • 2012-08-04
    • 1970-01-01
    • 2017-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多