I have shopping cart with fields Title
Price
Amount
Total
. Title and price works fine but Amount
is input field where user can enter how many items he wants and i want to update Total
based on that.
Here is my JSP:
<body>
<table border="1px"style="width:50%">
<tr>
<th>Title</th>
<th>Price</th>
<th>Amount</th>
<th>Total</th>
</tr>
<c:forEach var="article" items="${articleList}">
<tr>
<td>${article.title}</td>
<td>${article.price}</td>
<td><input type="text" value="${article.numberOfOrder}" onchange="myFunction()"></td>
<td>${article.total}</td>
<input type="hidden" value="${article.numberOfOrder}" name="article_NumberOfOrder">
<input type="hidden" value="${article.total}" name="article_total">
<input type="hidden" value="${article.price}" name="article_price">
</tr>
</c:forEach> <br>
</table>
Total:${total}<br>
</body>
Below <body>
i have javacsript where i send to servlet when value(number of orders) is changed:
<script>
function myFunction() {
document.location.href="ArticalOnChangeServlet";
}
</script>
And this is servlet:
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
HttpSession session = request.getSession();
int numberOfOrder = Integer.parseInt(request.getParameter("articleNumberOfOrder"));//Here i'm getting NPE
double price = Double.parseDouble(request.getParameter("article_price"));
Double totalArtical = (Double)session.getAttribute("totalArticle");
if(totalArtical == null){
totalArtical = price;
}
totalArtical*=numberOfOrder;
session.setAttribute("totalArtical", totalArticle);
ArticleUpdate(numberOfOrder,totalArticle); // Here i update database
RequestDispatcher rd = request.getRequestDispatcher("cart_overview.jsp");
rd.forward(request, response);
}
IDE and browser are giving me null pointer exception in servlet on line where i try to get parameter from number of orders. What am i doing wrong?