【问题标题】:Using SSI in HTMLs imported using c:import in jsps在 jsps 中使用 c:import 导入的 HTML 中使用 SSI
【发布时间】:2012-04-25 17:52:40
【问题描述】:

我在 htdocs 区域的网络服务器上下文(应用程序上下文之外)中有一堆 html。这些 html 使用 SSI 调用其他 html。

问题来了: 当我使用 c:import 将主 html 调用到 jsp 中时,主 html 内的辅助 html 不会呈现 / 不会被处理。

有没有办法让主html“编译”然后返回jsp?

JSP 代码:

<c:import url="<%=/folder/Header.html%>" 

需要处理的HTML服务器端逻辑:

<!--#include virtual="/abc/xyz.html" -->
<!--#if expr='"$Category" = "someCategory"' -->
<!--#echo var="pageTitle" -->

原型都是以 html 形式提供的,所以一切都在网络环境中,所有文件都可以正常工作。问题是将顶层移动到 JSP 并将其余层保持为 HTML。 (这是一个要求)

欢迎任何解决方案/想法/想法!感谢您的协助!

编辑:好的,我在 iFrame 中获取 Header.html,因为这将启动一个新的 HTTP 请求(因此可以访问 SSI 逻辑)。

<iframe id="testSSI" src ="http://somesite.com/subfolder/testssi_1.html?pageTitle=Applications" frameborder="0" width="800px" height="300"></iframe>

参数在 URL 中发送,我已经设法使用 js 提取控制参数。

我的查询已简化为: 如何在 SSI 逻辑中访问此 js 值“应用程序”?是否可以将 is 设置为环境变量?这可以由 SSI 逻辑拉动。我意识到 Js 将在 SSI 完成后运行,但希望这里有人能够提供帮助。

谢谢!

【问题讨论】:

    标签: html jsp ssi


    【解决方案1】:

    谢谢,搞定了。

    我通过使用 QUERY_STRING 环境变量访问了 SSI 中的参数。 html调用示例:

    http://somesite.com/subfolder/testssi_1.html?Applications
    

    我如何检索值的示例:

    <!--#set var="pageTitle" value="$QUERY_STRING" -->
    <!--#if expr=" ${pageTitle} = Program "  -->
      do something
    <!--#else -->
      do something else
    <!--#endif --> 
    

    这里的目标: 我们使用 JAVA 框架。但是营销部门希望他们可以在单独的过程中编辑内容。这样,他们可以频繁地更改内容,而无需 jsp / java 团队的干预。 (例如,更改标题外观、添加新链接等)

    希望这对以后的人有所帮助。 :)

    波浪

    编辑:在上面的示例中->“应用程序”会将逻辑带到 else 部分.. 另外,发送名称值对:

    http://somesite.com/subfolder/testssi_1.html?name=Applications&app=Demo
    

    您可以将它们引用为:

    <!--#if expr=" ${QUERY_STRING} = /name=Applications/ "  -->
    

    <!--#if expr=" ${QUERY_STRING} = /app=Demo/ "  -->
    

    【讨论】:

      猜你喜欢
      • 2011-12-30
      • 2022-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-26
      • 2015-07-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多