2016-02-18 153 views
0

我目前有一個顯示一些棒球卡及其值的servlet。我希望能夠在複選框中列出它們並能夠選擇想要出售的卡片。然後servlet會取出您檢查的卡片並將這些值加起來並顯示總數。我已經完成了大部分工作,除非我不能從複選框中獲取值並總結出來。從複選框獲取和添加值

這是我的jsp

<form name="CashOut.jsp" method="post"> 
<table> 
    <c:forEach var="entry" items="${winingCards}"> 
     <tr> 
      <td> 
       <input type="checkbox" name="cardvalue" value="${entry.price}"><h1>PRICE<h1>${entry.price}$</h1><br><img src="photofolio/images/cardimages/clevelandindians/${entry.name}.png" align="middle" style="max-height:25%; max-width:25% "/> 
      </td> 
      </tr>  
    </c:forEach>  
</table> 
<table> 
    <tr> 
     <td> 
      <input type="submit" value="Submit"/> 
     </td> 
    </tr> 
</table> 
</form> 

這個錯誤我控制器

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     doGet(request, response); 
     JFrame parent = new JFrame(); 
     int sumTotal = 0; 
     String[] items =request.getParameterValues("cardvalue"); 
     for(String item : items){ 

      sumTotal=+sumTotal; 

     } 

     JOptionPane.showMessageDialog(parent, "You Cashed Out with: "+sumTotal); 
     request.getRequestDispatcher("/WEB-INF/photofolio/index.html").forward(
       request, response); 
     } 
    } 
+0

請告訴我您的問題?這個'items'包含'null'嗎? – Satya

+0

我不知道如何從jsp獲得價格值,所以我可以將它們相加。 –

+0

用這個'request.getParameterValues(「cardvalue」)''你會得到所有的值。 – Satya

回答

0

更改您的循環來

double sumTotal = 0; 

for(String item : items){ 

    sumTotal += Double.parseDouble(item);//convert string to int 
    //Its equals to sumTotal = sumTotal + Double.parseDouble(item); 
} 

JOptionPane.showMessageDialog(parent, "You Cashed Out with: "+sumTotal); 
+0

這給我一個錯誤HTTP狀態500 - 對於輸入字符串:「10.5」 ------------------------------- ------------------------------------------------- 類型異常報告 消息對於輸入字符串:「10.5」 說明服務器遇到內部錯誤,無法完成此請求。 例外 java.lang.NumberFormatException:對於輸入字符串: 「10.5」 \t java.lang.NumberFormatException.forInputString(未知來源) \t java.lang.Integer.parseInt(未知來源) \t java.lang中。 Integer.parseInt(未知源) –

+0

_對於輸入字符串:「10.5」_因此它不是十進制數字。我編輯了我的答案。 – Satya

+0

對不起,我忘了它的十進制值。非常感謝你。任何想法如何我可以將此頁面轉發到我的索引頁面?我得到HTTP狀態500 - 當我使用請求調度程序提交響應後無法轉發。 –