"第二讲简易计算器教程"
在本讲中,我们将学习如何创建一个简易计算器,使其能够接收用户输入,进行计算,并将结果显示在同一个页面上。以下是详细步骤和涉及的知识点:
首先,我们需要制作静态页面。这包括创建一个新的JSP文件`cal.jsp`,并在其中添加一个POST方式的表单`form1`。表单内有两个文本输入框`num1`和`num2`,用于用户输入数字;一个下拉列表`option1`,包含各种运算符如加、减、乘、除等;最后是一个提交按钮,类型为`submit`。这些元素的设置使得用户能够选择运算符并输入数值。
接着,我们制作动态页面。表单`form1`的`action`属性设置为`result.jsp`,这意味着当用户点击提交按钮时,表单数据会被发送到`result.jsp`页面处理。在`result.jsp`中,我们用Java代码获取请求参数,如`num1`、`num2`和运算符,然后进行计算,并打印出结果。
进入第三步,我们改进程序,将计算结果显示在`cal.jsp`页面上。将`result.jsp`中的Java代码复制到`cal.jsp`中。由于`cal.jsp`现在也需要处理请求参数,因此会出现错误。为了解决这个问题,我们需要在`cal.jsp`中增加判断语句,确保`s1`、`s2`和`oper`都不为空。只有当这些参数都有值时,才会进行计算并显示结果。例如:`if(s1!=null&&s2!=null&&oper!=null){}`。然后通过`<%=result%>`将计算结果输出到页面上。
第四步,我们进一步优化程序,使`num1`、`num2`和操作符在页面刷新后仍然保留。为`num1`和`num2`的输入框添加初始值,比如`value=<%=num1%>`和`value=<%=num2%>`,这样再次打开页面时,之前输入的数字会显示出来。同时,对于下拉列表的选择项,可以添加`selected`属性,如`<option value="+" <%if(operator.equals("+")) out.print("selected");%>>+</option>`,以保持操作符的选中状态。如果出现空值导致的错误,还需要在Java代码中添加对空值的处理,如`if(oper==null) oper=""`等。
最后,为了确保用户输入的是有效的数字,我们可以增加数据校验功能。这里我们用JavaScript编写一个名为`isNumber(str)`的函数,检查字符串`str`是否只包含数字。这个函数可以通过遍历数字字符集并与输入字符串比较来实现。这样可以防止非数字字符被提交到服务器,提高程序的健壮性。
通过以上步骤,我们就完成了一个简易计算器的开发,它可以接收用户输入,进行计算,并在页面上显示结果。同时,程序还具备了数据保留和校验的功能,提高了用户体验。在实际应用中,还可以继续扩展功能,如增加错误处理机制,支持更多运算符,或者优化界面设计,使之更加友好。