I am writing a simple web app that performs calculations. I have 2 buttons, for adding and subtracting, but they aren’t working. I tried to use a switch statement and an if statement, but neither are working. Could you please assist me to understand the problem.
Here is my code…
<%
String name = (String) session.getAttribute("name");
if (name==null) {
name = request.getParameter("name");
if (name!=null){
session.setAttribute("name",name);
}
}
String sum = (String) session.getAttribute("sum");
if (sum==null) {
sum = "0";
session.setAttribute("sum",sum);
}
int isum = Integer.parseInt(sum);
String number = request.getParameter("number");
if (number==null){
number = "0";
}
int inumber = Integer.parseInt(number);
if(request.getParameter("add") != null){
isum += inumber;
session.setAttribute("sum",""+isum);
}
if(request.getParameter("subtract") != null){
isum += inumber;
session.setAttribute("sum",""+isum);
}
%>
<html>
<head>
<title>Adding Machine</title>
</head>
<body>
<form method='get' action='adder.jsp'>
<%
if (name==null) {
%>
<p>
Name: <input type='text' name='name' id='name'>
</p>
<p>
<input type='submit' name='submit' id='submit' value='signin'>
</p>
<%
} else {
%>
<p>Welcome, <%=name%>!</p>
<p>Current sum is: <%=isum%></p>
<p>
Number to add: <input type='text' name='number' id='number' value='add'>
</p>
<p>
<input type='submit' name='submit' id='submit' value='add'>
</p>
<p>
<input type='submit' name='submit' id='submit' value='subtract'>
</p>
<%
}
%>
</form>
</body>
</html>
It seems you have badly copied example from somewhere:
Syntax of
request.getParameter()is :Read More at : Java Docs
Here you will definately get NULL as there is no parameter named “add” or “subtract”.
Change your code to