gpt4 book ai didi

java - 将包含的文件输出存储到变量中

转载 作者:行者123 更新时间:2023-11-29 09:11:46 26 4
gpt4 key购买 nike

我目前正在开发一个使用 JSP 的项目,但是我们远离使用 JSTL,而是使用 Java。

我知道我们可以使用 JSTL

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

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

但是我们正在努力避免这种情况并使用纯 Java 实现。

我们是否可以刷新 JspWriter(输出),将文件包含在 pageContext 中,然后将包含的内容存储到变量中?

我有 PHP 背景,我知道我们可以使用 ob_start 等,所以希望我们可以在 Java 中做同样的事情吗?

欢迎任何想法。

非常感谢

加文

最佳答案

这是一个不寻常的问题。大多数时候,我们都试图摆脱 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}

关于java - 将包含的文件输出存储到变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11950336/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com