Javaクラスからの文字列またはリストとしての戻り値の型を持つさまざまな文字列操作メソッドを使用するWebアプリケーションを開発しています。これらのメソッドをサーブレットで呼び出し、JSTL を使用して、出力を JSP ページに正常に出力できます。したがって、JSTL 構文や基本的なサーブレットと 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);
}
}
以下は私のサーブレットコードです(関連するスニペットのみ)
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 からの出力をテキスト領域に出力する方法です。私の知る限り、response.getWriter() の out.println 関数を使用して、特定の JSP ファイルのテキスト領域やテキスト ボックスなどの特定のフィールドに印刷するための準備をせずに、JSP に直接印刷できます。コンソールに出力する void メソッドの出力を String に何らかの方法でリダイレクトし、上記の例と同様にその String を使用して出力を表示できる、従うことができる他のアプローチはありますか。