我正在处理遗留代码,所以请不要开始“你为什么这样做”,我知道这是糟糕的实现,所以让我们跳过它。
在高层次上,我有一个 JSP
<html:form action="/myAction" method="POST" onsubmit="beforeSubmit()">
...
<table class="dialog">
<% render.myhtml(out); %>
</table>
...
</html>
render.myhtml(out) 在java代码中如下(我尝试了 jsp:include 和 @include :
public void myhtml(Writer w) throws IOException {
....
String include = "<jsp:include page=" +"\"" +myobject.getPage() +"\"" + " />";
//String include = "<%@ include file=" +"\"" +myobject.getPage() +"\"" + " %>";
println(w, include);
...
}
但是当我打开页面时,我看不到包含.. 源代码显示它正在打印包含标签但没有评估它:
<table class="dialog">
...
<jsp:include page="/path/test.jsp" />
</table>
所以在我看来,这种插入是在评估包含物之后发生的..所以问题是..我能做些什么来完成这项工作?我曾考虑将 JSP 作为字符串读取并传递它,但这对内存来说非常沉重,所以我想避免这种情况。