2011-11-16 79 views
3

我想在JSP页面中动态地包含html页面。我从HTML forder获取html网址,并使用struts2将值传递给JSP页面,但我无法使用jsp:include或@include标记在JSP上执行此操作。动态地在JSP中包含HTML

例如, 我在我的struts动作属性中有像/somepath/variablehtmlname.html这样的可变html Url。我想使用这个路径来包含位于/ somepath位置的实际html文件。当你的JSP页面都被编译并没有获得请求变量

+3

”究竟发生了什么错误?它应该工作。显示代码。 – BalusC

回答

2

<%@ include ... %>评估(如Struts 2的动作特性。)使用<c:import /><s:include />代替,其中包括在每个请求的基础内容。 <jsp:include />也应该工作,但(如@BalusC请求)没有代码,我们不能说出为什么它没有。

Reusing Content in JSP Pages

+1

['<%@ %>'是static includes](http://java.sun.com/products/jsp/tags/syntaxref.fm6.html#8772),并在编译时进行评估。 [''是一个动态包含](http://java.sun.com/products/jsp/tags/syntaxref.fm11.html),在运行时处理。 –

+0

@Dave Newton:我纠正了:http://java.sun.com/products/jsp/tags/12/syntaxref1214.html。修改原来的答案以反映这一点。谢谢! – BobG

1

我同意第一个答案(BobG)。您还可以简单地让JSP页面直接使用刷新标记提供http forwardTo,其中servlet将新url地址写入会话变量:<meta http-equiv="refresh" content="0; URL=<%=htmlSessionLink>" />**