私はレガシーコードに取り組んでいるので、「なぜそんなことをしているのですか」と始めないでください。ひどい実装であることはわかっているので、スキップしましょう。
高レベルでは、私は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を文字列として読み取って渡すことを考えましたが、メモリがかなり重いので避けたいと思います。