如何从jsp调用servlet

时间:2014-06-17 10:33:39

标签: java jsp servlets

我有一个问题,如何在不使用<jsp:include page="/servletURL" />的情况下从jsp(chart.jsp)调用servlet,因为我之前尝试过,我不知道这是不是正确的原因,但是当我使用它时它会崩溃以上代码。 我放入我的doGet()方法从DB检索信息并使用JSTL +选项填充我的dropdownlist(在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" />代码会崩溃我的网页以及如何修复它。任何消化都是受欢迎的

2 个答案:

答案 0 :(得分:0)

使用

 response.sendRedirect("//your servlet name");

答案 1 :(得分:0)

最有可能与此无关,但改变

    ${Machine.machineName} to ${machine.machineName}