コンセプト全体を変更して申し訳ありません。
Servlet
からへの呼び出しを転送したいのですが、Jsp
転送時間中にパラメータを渡します。
サーブレット プログラム。
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//Creating object to FunctionNames class for calling their functions
try {
FunctionNames FunctionNamesObject=new FunctionNames();
//calling Method from class object
List<File> finalListNames=FunctionNamesObject.ListOfFileNames(getServletContext().getRealPath("/copy"),".txt");
for (int fileIndex = 0; fileIndex < finalListNames.size(); fileIndex++) {
//Copy and pasting file from SourcePath to destination Path
FunctionNamesObject.FileMoving(
finalListNames.get(fileIndex),
getServletContext().getRealPath("/Rod"),
"TMapInput.txt"
);
//.exe file process will be start from here.
FunctionNamesObject.ExeternalFileProcessing(getServletContext().getRealPath("/Rod"),"ThMapInfratab1-2.exe","TMapInput.txt");
//Later Rods output files moving from one directory to another function will be added here
request.setAttribute("Name","ABD");
request.setAttribute("Password", "DEF");
RequestDispatcher rd=request.getRequestDispatcher("/JSPFiles/JspTesting.jsp");
rd.forward(request, response ) ;
}
}
catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Jsp コードは次のとおりです。
<%
out.print(request.getAttribute("Name"));
out.print(request.getAttribute("Password"));
%>
私のコードを観察すると、RequestDispatcher
コードはループ内にあり、繰り返しごとに呼び出しをパラメーター付きのファイルfor
に転送したいということです。Jsp
最初の反復では、ファイルから応答を取得していJsp
ますが、2 回目の反復からは機能しません。次のエラーが発生しています。
HTTP Status 500 - Cannot forward after response has been committed
java.lang.IllegalStateException: Cannot forward after response has been committed
PackageName.ClassName.service(ClassName.java:36)
javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
どうすればこれを修正できますか。
ありがとう