2014-01-11 188 views
0

我有一個包含幾個字段的jsp頁面。我需要在servlet中使用這些字段中的某些字段來獲取Car的詳細信息。這是jsp頁面中的表單:將數據傳遞給servlet

<form method="post" action="Update"> 
       <table id="centerTable" width="600"> 
        <tr>        
         <th><h5>Car ID</h5></th> 
         <th><h5>Car Brand</h5></th> 
        </tr>       
        <tr> 
         <td>${bookedCar.id}</td> 
         <td>${bookedCar.carbrand}</td> 
        </tr>     
       </table> 

       </br></br>          
       <p class="submit"><input type="submit" value="Cancel Booking"></p> 

</form> 

在servlet Update.java中,我在doPost中有以下內容。我需要在更新servlet中使用car id,但我一直將值設爲null。我是否錯誤地調用了該屬性?

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


    Cars myCar = (Cars)request.getAttribute("bookedCar"); 
    String carID = (String)request.getAttribute("bookedCar.id"); 

回答

0

首先,您需要發送的信息的形式提交,所以你需要使用一個輸入標籤發送此信息,以便更改表以這樣的方式

<form method="post" action="Update"> 
    <table id="centerTable" width="600"> 
     <tr>        
      <th><h5>Car ID</h5></th> 
      <th><h5>Car Brand</h5></th> 
     </tr>       
     <tr> 
      <td><input type="text" name="bookedCarId" value="${bookedCar.id}" readonly/></td> 
      <td><input type="text" name="bookedCar" value="${bookedCar.carbrand}" readonly/></td> 
     </tr>     
    </table> 
    </br></br>          
    <p class="submit"><input type="submit" value="Cancel Booking"></p> 
</form> 

爲了獲取值發送表單提交,你需要使用的輸入標籤的name屬性,但使用GetParameter函數從HttpServletRequest對象,所以:

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


    String myCar = request.getParameter("bookedCar"); 
    String carID = request.getParameter("bookedCarId"); 
} 

正如你看到的這個方法得到字符串PARAM eters發送請求,通過這個信息你可以獲得汽車對象,或者你可以將這個對象存儲爲會話對象的屬性,所以在下一個請求中你可以得到這個對象。

+0

感謝這工作! :) –