2014-02-27 6 views
0

서블릿에서 JSP로 데이터를 보내는 데 문제가 있습니다.서블릿에서 JSP로 데이터 보내기

데이터가 사용자 폼에서 들어 와서 수정하고 출력 페이지로 보내려고하지만 전송 된 값은 입력 페이지에서 얻은 값과 같습니다.

디버깅 할 때 변수가 변경되고 맵에서 업데이트 (서비스 메소드의 후드에서 생성 됨) 된 것이므로 출력 페이지로 데이터를 보내려는 방식에 문제가 있다는 것을 확신합니다.

내 서블릿 :

public class OpportunityCost extends HttpServlet { 
    private static final long serialVersionUID = 1L; 

    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 

    if (request.getParameter("purchasePrice") == null) { 
     getServletContext().getRequestDispatcher("/index.jsp").forward(request, response); 
     return; 
    } 

    String iPurchasePrice = request.getParameter("purchasePrice"); 
    double purchasePrice = Double.parseDouble(iPurchasePrice); 
    purchasePrice = purchasePrice * 100; 

    request.setAttribute("purchasePrice", purchasePrice); 

    getServletContext().getRequestDispatcher("/output.jsp").forward(request, response); 
} 
} 

입력 코드 :

<form action="OpportunityCost" method="get"> 
    <table border="0"> 
     <tr> 
      <td> Home Purchase Price*: <input type="text" value="1" name="purchasePrice" /></td> 
     </tr> 

     <tr> 
      <td colspan=2"> <input type="submit" value="submit" /> </td> 
     </tr> 
     </table> 

출력 코드 :

String finalPrice = request.getParameter("purchasePrice"); %> 
    <%= finalPrice %> 

내가 잘못 어떤 생각?

+0

설정 request.setAttribute하지만 request.getParameter를 표시하려고합니다. –

+0

대단히 감사합니다! – Merch

답변

1

속성과 매개 변수는 두 가지 개념입니다. request.setAttribute request.getAttribute를 사용하여 내부적으로 값을 전달할 수 있습니다. 서블릿 간. request.getParameter()가 클라이언트에서 제공됩니다. 따라서 출력 코드를 reqeust.getAttribute ("purchasePrice")로 변경하십시오.

관련 문제