我正在开发一个 Web 应用程序,我在其中使用各种字符串操作方法,返回类型为 Java 类中的字符串或列表。我在我的 servlet 中调用这些方法并使用 JSTL,我成功地将输出打印到我的 JSP 页面。因此,JSTL 语法或基本 Servlet-JSP 交互没有问题。这是一个例子:
我的基类具有所有这些功能:
public class MethodClass {
// Skipping unwanted code and only providing example
public static List<String> method1 (String input) {
// Returns List of Strings
}
public static String method2 (String input) {
// Returns a string
}
public static void method3 (String input) {
// This method has to print text on console. I can't redirect that to a String.
System.out.println(input);
}
}
下面是我的 Servlet 代码(仅相关片段)
listMethod1 = MethodClass.method1(input);
request.setAttribute("Myresults", listMethod1);
request.getRequestDispatcher("/results.jsp").forward(request, response);
在我的 JSP 中,我使用以下内容:
<c:forEach items="${Myresults}" var="result">
<tr>
<td>${result.frameNum}</td>
<td>${result.number}</td>
<td>${result.name}</td>
<td>${result.length}</td>
</tr>
</c:forEach>
到目前为止没有任何问题。我的问题是如何将 method3 的输出打印到文本区域。AFAIK,response.getWriter() 的 out.println 函数可用于直接在 JSP 上打印,而不需要打印到某个字段,如某个 JSP 文件的文本区域或文本框。有没有我可以遵循的其他方法,我可以以某种方式将控制台上打印的 void 方法的输出重定向到字符串,然后使用类似于我上面提供的示例的字符串来显示输出。