我有一个result.jsp文件,该文件返回查询的结果列表并将其显示在表上。此处理是从“提取” Servlet完成的。我下面有一个按钮,该按钮将调用“最终” servlet,该servlet将结果写入文件。
如何将resultList传递给“ Final” Servlet?
<div class="content">
<table border="1" class="blueTable">
<thead>
<tr>
<th>EMPLOYEE ID</th>
<th>EMPLOYEE NAME</th>
<th>DEPARTMENT</th>
<th>OFFICE NUMBER</th>
<th>SALARY</th>
</tr>
</thead>
<c:forEach items="${resultList}" var="item">
<tr>
<td>${item.employeeId}</td>
<td>${item.employeeName}</td>
<td>${item.department}</td>
<td>${item.officeNumber}</td>
<td>${item.salary}</td>
</tr>
</c:forEach>
</table>
</div>
<div>
<span>Extract Directory: </span>
<span><input type="text" id="filepath" name="filepath" size="40"/></span>
</div>
<br/>
<div>
<span >Extract File Name:</span>
<span><input type="text" id="filename" name="filename" size="40"/></span>
</div>
<br/>
<form action="Final" method="post">
<span><input type="submit" name="extractButton" value="EXTRACT"/></span>
</form>
提取Servlet
List<Result> resultList = executeQueryOnMessageTable1();
if(!resultList.isEmpty()) {
request.setAttribute("resultList", resultList);
}
RequestDispatcher req = request.getRequestDispatcher("/result.jsp");
req.forward(request, response);
答案 0 :(得分:0)
使用setAttribute方法。
request.setAttribute("result", resultList);
如果您要在单击按钮时调用servlet,我不知道您为什么使用请求分配器。
以最终的servlet的身份访问数组列表
ArrayList<String> list=(ArrayList<List>)request.getAttribute("result"); //don't forget to type cast, as the getAttribute returns object.
如果要在获取resulList之后立即调用最终servlet,请使用request.include获取最终servlet中的值。
request.getRequestDispatcher("/servleturl").include(request, response);