jsp实现网页计算器代码如下:只有两个jsp页面
myCal.jsp如下:
<%@ page language=\"java\" import=\"java.util.*\" pageEncoding=\"utf-8\"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+\"://\"+request.getServerName()+\":\"+request.getServerPort()+path+\"/\"; %> <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"> <html> <head> <base href=\"<%=basePath%>\"> <title>My JSP \'myCal.jsp\' starting page</title> <meta http-equiv=\"pragma\" content=\"no-cache\"> <meta http-equiv=\"cache-control\" content=\"no-cache\"> <meta http-equiv=\"expires\" content=\"0\"> <meta http-equiv=\"keywords\" content=\"keyword1,keyword2,keyword3\"> <meta http-equiv=\"description\" content=\"This is my page\"> <!-- jsp页面中不可以直接使用script --> <script language=\"javascript\"> <!-- //写一个函数判断是否两个数都有 function checkNum() { //判断num1 num2是否为空 if((form1.num1.value == \"\") || (form1.num2.value == \"\")) { window.alert(\"null,不能为空!\"); return false; } //判断是否是数字 if(Math.round(form1.num1.value) != form1.num1.value && Math.round(form1.num2.value) != form1.num2.value) { window.alert(\"num1和num2不是一个数\"); return false; } if(Math.round(form1.num1.value) != form1.num1.value) { window.alert(\"num1不是一个数\"); return false; } if(Math.round(form1.num2.value) != form1.num2.value) { window.alert(\"num2不是一个数\"); return false; } } --> </script> </head> <body> <form name=\"form1\" action=\"calculator/myResult.jsp\" method=\"post\"> 请输入第一个数:<input type=\"text\" name=\"num1\"> <select name=\"flag\"> <option value=+>+</option> <option value=->-</option> <option value=*>*</option> <option value=/>/</option> </select> 请输入第二个数:<input type=\"text\" name=\"num2\"> <input type=\"submit\" value=\"计算\" onclick=\"return checkNum();\"> </form> </body> </html>
myResult.jsp如下:
<%@ page language=\"java\" import=\"java.util.*\" pageEncoding=\"utf-8\"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+\"://\"+request.getServerName()+\":\"+request.getServerPort()+path+\"/\"; %> <!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"> <html> <head> <base href=\"<%=basePath%>\"> <title>My JSP \'myResult.jsp\' starting page</title> <meta http-equiv=\"pragma\" content=\"no-cache\"> <meta http-equiv=\"cache-control\" content=\"no-cache\"> <meta http-equiv=\"expires\" content=\"0\"> <meta http-equiv=\"keywords\" content=\"keyword1,keyword2,keyword3\"> <meta http-equiv=\"description\" content=\"This is my page\"> <!-- <link rel=\"stylesheet\" type=\"text/css\" href=\"styles.css\"> --> </head> <body> <% //第1步接收到 第1个数 String s_num1 = request.getParameter(\"num1\"); //第2步接收到 第2个数 String s_num2 = request.getParameter(\"num2\"); //第3步接收到 运算符 String flag = request.getParameter(\"flag\"); //第4步 计算 int num1 = Integer.parseInt(s_num1); int num2 = Integer.parseInt(s_num2); int result = 0; if(flag.equals(\"+\")) { result = num1+num2; } else if(flag.equals(\"-\")) { result = num1-num2; } else if(flag.equals(\"*\")) { result = num1*num2; } else if(flag.equals(\"/\")) { result = num1/num2; } //第5步 out.println(\"结果是:\"+result); %> </body> </html>
虽然过程很简单但是有几个值得学习的地方:
如何判断输入的数据是不是数字:使用Math.round(form1.num1.value) != form1.num1.value 来判断;
如何获取操作值:设置name属性 flag实现。
希望本文所述对大家学习JSP编程有所帮助。
本文地址:https://www.stayed.cn/item/478
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我