2014-06-17 4 views
1

질문이 있는데, 전에 시도했기 때문에 <jsp:include page="/servletURL" />을 사용하지 않고 jsp (chart.jsp)에서 서블릿을 호출하는 방법이 있습니다. 이유가 올바른지 알 수 없지만 충돌이 발생합니다. 위의 코드를 사용할 때. DB에서 정보를 검색하고 JSTL + 옵션을 사용하여 내 dropdownlist (chart.jsp)를 채우고 내 페이지 (동일한 페이지)로 리디렉션하는 doGet() 메소드를 놓았습니다. 브라우저가JSP에서 서블릿을 호출하는 방법

내 서블릿 :

ArrayList<Machine> foundMachines = MachineDB.getAllMachines(); 
request.getSession().setAttribute("foundMachineList", foundMachines); 
RequestDispatcher rd = request.getRequestDispatcher("charts/chart.jsp"); 
rd.forward(request, response); 

내 서블릿을 다시 호출하고 끝없는 루프 (다시 말하지만, 그건 그냥 내 가정 사항이다)이 c:forEach 태그를 사용하여 새 페이지 여기에 좀 더 명확하게 내 코드입니다 내 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" /> 태그가 내 페이지를 충돌시키고 문제를 해결하는 이유입니다. 모든 sugestion을 환영합니다

+0

변경되지 않는 이유는 무엇입니까? – Priyesh

+0

아니요, Scriplet 대신 JSTL 및 EL을 사용하는 경우 "searchServlet"으로 매핑 된 일반 클래스 – user3362533

+0

+1입니다. – Braj

답변

0

사용

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

이 방법은 내 페이지를 충돌시키지 않지만 드롭 다운 목록도 만들지 않습니다. – user3362533

+1

내 오류입니다 ... ''태그를 삽입하는 것을 잊어 버렸습니다. – user3362533

0

대부분의 아마, 당신이 준 니펫은 JSP가 chart.jsp 페이지에서입니다 관련이 있지만, 혹시

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

죄송합니다. 어떻게했는지는 모르겠지만 작동하고 있습니다. 이제 드롭 다운을 만드는 대신 machineName을 씁니다. 모든 이름을 간단한 텍스트로 인쇄하는 것과 같습니다. – user3362533

+0

죄송합니다. '선택'태그를 잊어 버렸습니다! – user3362533

+0

응답이 올바른 경우 마침으로 표시하십시오. – paul

관련 문제