我在htdocs区域的webserver上下文(在应用程序上下文之外)中有一堆htmls。这些htmls使用SSI来调用其他htmls。
这是问题所在: 当我使用c:import将主html调用到jsp中时,主html中的辅助htmls不会呈现/不处理。
有没有办法让主html“编译”然后返回到jsp?
JSP代码:
<c:import url="<%=/folder/Header.html%>"
需要处理的HTML服务器端逻辑:
<!--#include virtual="/abc/xyz.html" -->
<!--#if expr='"$Category" = "someCategory"' -->
<!--#echo var="pageTitle" -->
原型作为所有htmls给出,所以一切都在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值“Applications”?是否可以将其设置为环境变量?这可以通过SSI逻辑拉动。我意识到Js将在SSI完成后运行,但希望有人能够提供帮助。
谢谢!
答案 0 :(得分: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团队的干预来频繁地更改内容。 (例如,更改标题外观,添加新链接等)
希望这可以帮助别人以后出去。 :)
波
编辑:在上面的示例中 - &gt; “应用程序”将逻辑带到其他部分.. 另外,要发送名称值对:
http://somesite.com/subfolder/testssi_1.html?name=Applications&app=Demo
您可以将它们引用为:
<!--#if expr=" ${QUERY_STRING} = /name=Applications/ " -->
和
<!--#if expr=" ${QUERY_STRING} = /app=Demo/ " -->