2016-02-18 109 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 - 当我使用请求调度程序提交响应后无法转发。 –