JSP学习之再谈计算器

来源:互联网 发布:视频文件旋转角度软件 编辑:程序博客网 时间:2024/06/05 14:10

这节中,我们将数据的提交、处理、结果显示放在同一个页面上。

代码:

<!-- 这是计算器的界面--><%@page contentType="text/html;charset=gb2312"%><html><head><!--在jsp中添加jsp代码,防止用户空提交--><script language="javascript">//写一个函数判断用户是不是提交空的function checkNum(){if(form1.num1.value==""){window.alert("num1,不能为空haha");return false;}//判断num1,是不是一个数if(Math.round(form1.num1.value)!=form1.num1.value){window.alert("num1,不是一个数");return false;}}</script></head><body><%//接收第一个数(通过request接收,request类似Servlet中的HttpRequestServlet)String s_num1=request.getParameter("num1");//接收第二个数String s_num2=request.getParameter("num2");//接收运算符号String flag=request.getParameter("flag");int num1=0;int num2=0;int result=0;System.out.println(s_num1);//java中 String ->int//为了防止异常的发生,我们做一个处理if(s_num1!=null&&s_num2!=null&&flag!=null){num1=Integer.parseInt(s_num1);    num2=Integer.parseInt(s_num2);//计算if(flag.equals("+")){result=num1+num2;}else if(flag.equals("-")){result=num1-num2;}else if(flag.equals("*")){result=num1*num2;}else{result=num1/num2;}//输出结果//out.println("结果是:"+result);}%><h1>我的计算器</h1><hr><form name="form1" action="Cal.jsp">请输入第一个数:<input type="text" size="6" name="num1" value="<%=num1 %>"><br/><select name="flag"><option value=+>+</option><option value=->-</option><option value=*>*</option><option value=/>/</option></select><br/>请输入第二个数:<input type="text" size="6" name="num2" value="<%=num2 %>"><br/><input type="submit" value="计算" onclick="return checkNum();"><!--点击后会调用JavaScript脚本,这里通过return返回给form--></form><hr><!--这里输出计算的结果-->    计算结果是:<%=result %><!--表达式语法--></body></html>

效果图:


注:知识点补充

//接收第一个数(通过request接收,request类似Servlet中的HttpRequestServlet)
String s_num1=request.getParameter("num1");
//接收第二个数
String s_num2=request.getParameter("num2");
//接收运算符号
String flag=request.getParameter("flag");

如果这里num1没有的话,那么s_num1的值为null。

0 0