0

我在 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 形式给出的,所以一切都在 web 上下文中,所有文件都运行良好。问题是将顶层移动到 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 完成后运行,但希望这里有人能够提供帮助。

谢谢!

4

1 回答 1

0

谢谢,搞定了

我使用 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/ "  -->
于 2012-04-26T20:00:36.637 回答