我有一个问题,如何在不使用 <jsp:include page="/servletURL" />
的情况下从 jsp(chart.jsp) 调用 servlet因为我之前尝试过,我不知道这是否是正确的原因,但是当我使用上面的代码时它会崩溃。
我放入 doGet() 方法来从数据库检索信息并使用 JSTL+option 填充我的下拉列表(在 Chart.jsp 中),然后重定向到我的页面(同一页面),我相信每次浏览器写入一个新的页面使用 c:forEach
标记它再次调用我的 servlet 并且有一个永无止境的循环(同样,这只是我的假设)
这是我的代码,让它更清楚:
我的servlet:
ArrayList<Machine> foundMachines = MachineDB.getAllMachines();
request.getSession().setAttribute("foundMachineList", foundMachines);
RequestDispatcher rd = request.getRequestDispatcher("charts/chart.jsp");
rd.forward(request, response);
我的jsp:
<jsp:include page="/searchServlet" />
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:forEach var="machine" items="${sessionScope.foundMachineList}">
<option value="${machine.machineId}">${Machine.machineName}
</option>
</c:forEach>
所以我的问题是为什么我的 <jsp:include page="/servletURL" />
标签使我的页面崩溃以及如何修复它。欢迎提出任何建议
最佳答案
使用
response.sendRedirect("//your servlet name");
关于java - 如何从jsp调用servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24261552/