2

私は現在、JSP を使用するプロジェクトに取り組んでいますが、JSTL の使用を避け、代わりに Java を使用しています。

JSTLで使用できることはわかっています

<c:set var="body">
<jsp:include page="...jsp"/>
</c:set>

<c:out value="${body}"/>

ただし、これを避けて純粋な Java 実装を使用しようとしています。

とにかく、JspWriter をフラッシュして (out)、pageContext にファイルを含めて、含まれているコンテンツを変数に格納することはできますか?

PHP のバックグラウンドから来て、ob_start などを使用できることを知っているので、Java でも同じことができると思っていましたか?

どんなアイデアでも大歓迎です。

どうもありがとう

ギャビン

4

1 に答える 1

0

これは珍しい質問です。ほとんどの場合、JSP から Java コードを取り除こうとしています。しかし、本当に JSTL を使用したくない場合は、このコードを試すことができます。

<%@ page import="java.net.*,java.io.*"  %>
<%
   StringBuffer requestURL = request.getRequestURL();
   String servletPath = request.getServletPath();
   String contextURL = requestURL.substring(0, requestURL.indexOf(servletPath) + 1);
   URL url = new URL(contextURL + "otherPage.jsp");
   URLConnection conn = url.openConnection();
   BufferedReader in = new BufferedReader(new   InputStreamReader(conn.getInputStream()));
   String inputLine;
   StringBuilder sb = new StringBuilder();
   while ((inputLine = in.readLine()) != null)sb.append(inputLine);
   in.close();
   pageContext.setAttribute("otherPage", sb);
%>
${otherPage}
于 2012-09-06T15:42:20.633 に答える