回麻雀苑主页          

2.5具有计算功能的表单处理

作者:老麻雀 2006/9/13 14:54:00

具有计算功能的表单处理
  前面的HTML表单网页和相应处理数据的JSP动态网页,都是体验“用户注册”这样一个范例。虽然由浅入深学习了不少知识,但尚未体验到JSP动态网页的真正魅力。其实,JSP代码行中实质都是java语句,而JAVA是编制程序的语言,计算机程序能处理的事情就太多了。由此可知,凡是编程能做到的事,JSP动态网页都能做到。HTML静态网页主要解决规范、美观的界面,而JSP动态网页既能解决界面问题,又能解决需要编制程序实现的各种功能。
  下面先通过一个具有计算功能的范例,对JSP动态网页做个初步地体验。这组网页的HTML表单提供两个数,JSP动态网页对这两个分别进行加、减、乘、除的计算,然后将计算结果送到屏幕显示。
一、 范例的演示和代码清单
  演示步骤:
1. 启动JSP引擎后,启动IE,在地址栏键入http://127.0.0.1:8080/ch2/ch2-3.htm,如图2-14所示:
  
  图 2-14
  
2. 在数字一、数字二对应的文本框中,送入任何实数(整数或小数,也可以是负数),然后点击“计算”按钮。本例第一个数送的是10,第二个数送的是5,屏幕出现图2-15的界面。
  
  
  图 2-15
  
  两个数加、减、乘、除的结果被显示出来,读者可以送入不同的数,加以尝试。但如果送入字母、标点符号或是汉字等非数字的数据, JSP动态网页就不能正常运行了。解决方法请参看下一范例。
两个网页的代码如下:
◇-◇-◇-◇-◇-◇-◇-◇-◇  两个数的加减乘除  ◇-◇-◇-◇-◇-◇-◇-◇
范例ch2-23.htm
1) <html>
2) <head>
3) <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
4) <title>两个数的加减乘除</title>
5) <style type="text/css">
6) <!--HTML表单提供数据,JSP动态网页对数据进行加减乘除,并将结果送到屏幕显示-->
7) </style></head>
8) <body bgcolor="#FFFFCC" style="text-align:center">
9) <form action="ch2-3.jsp" name="form" target="_self"><table width="300" border="0" cellpadding="0" cellspacing="0" bgcolor="#ddeeff">
10) <tr align="center">
11) <td height="50" colspan="2">简单的计算</td>
12) </tr>
13) <tr>
14) <td width="111" height="50" align="center">数字一:</td>
15) <td width="189" height="50" align="center"><input name="n1" type="text" id="n1" size="20"></td>
16) </tr>
17) <tr>
18) <td width="111" height="50" align="center">数字二:</td>
19) <td height="50" align="center"><input name="n2" type="text" id="n2" size="20"></td>
20) </tr>
21) <tr align="center">
22) <td height="50" colspan="2"><input type="submit" value="计算"></td>
23) </tr>
24) </table>
25) </form>
26) </body>
27) </html>

◇-◇-◇-◇-◇-◇-◇-◇-◇  两个数的加减乘除  ◇-◇-◇-◇-◇-◇-◇-◇
范例ch2-3.jsp
1) <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" %>
2) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
3) <html>
4) <head>
5) <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
6) <title>两个数的加减乘除</title>
7) <style type="text/css">
8) <!--HTML表单提供数据,JSP动态网页对数据进行加减乘除,并将结果送到屏幕显示-->
9) </style></head>
10) <body bgcolor="#FFFFCC" style="text-align:center">
11) <table width="300" border="0" cellpadding="0" cellspacing="0" bgcolor="#ddeeff">
12) <tr align="center">
13) <td height="50">简单的计算</td>
14) </tr>
15) <tr>
16) <td height="100">
17) <%
18) float r1,r2,r3,r4;
19) String num1,num2;
20) num1=request.getParameter("n1");
21) num2=request.getParameter("n2");
22) float n1,n2;
23) n1=Float.parseFloat(num1);
24) n2=Float.parseFloat(num2);
25) r1=n1+n2;
26) out.println(n1+" + "+n2+" = "+r1+"<br>");
27) r2=n1-n2;
28) out.println(n1+" - "+n2+" = "+r2+"<br>");
29) r3=n1*n2;
30) out.println(n1+" * "+n2+" = "+r3+"<br>");
31) if(n2==0)
32) out.println(n1+" / "+n2+" = "+"除数不能为0");
33) else{
34) r4=n1/n2;
35) out.println(n1+" / "+n2+" = "+r4);
36) }
37) %>
38) </td>
39) </tr>
40) <tr>
41) <td height="30" align="center"><a href="ch2-3.htm">返回</a></td>
42) </tr>
43) </table>
44) </body>
45) </html>
二、HTML表单的分析
  ch2-3.htm这个HTML表单非常简单,两个文本框和一个“计算”按钮。只是使用表格和颜色进行了一点装饰。还有将“提交”按钮上面的“提交”两个字,改成“计算”。其他没有什么特别之处。
三、JSP动态网页的分析
  ch2-3.jsp这个JSP动态网页不像前面的范例,简单地将获得的数据送到屏幕上显示。而是将获得的数据进行计算处理,将运算结果送到屏幕上显示。这个JSP动态网页的重点有如下几点:
1. JSP动态网页获得的数据是“字符串型”,字符串型数据是不能进行算术运算的。因此在计算前,必须将数据转换成数值型;
2. 数值型数据有多种,这里我们选择了浮点型,这样便于输入、输出带有小数的数据;
3. 在除法运算中,除数不能是0,程序中需增加判断处理的语句。
有关的代码行提示如下:
  数据转换类型的代码行:
18) float n1,n2;                     定义两个浮点型变量n1、n2,用于存放转换后的数据。
19) n1=Float.parseFloat(num1);        将字符串型变量num1获得的值转换成浮点型,赋值给n1
20) n2=Float.parseFloat(num2);        将字符串型变量num2获得的值转换成浮点型,赋值给n2
相关数据转换的相关方法介绍如下:
对象函数
说 明
Boolean.getBoolean (字符串)
字符串转成布尔值
Byte.parseByte (字符串)
字符串转成位整数
Shor.parseShort (字符串)
字符串转成短整数
Integer.parseInt (字符串)
字符串转成整数
Long.parseLong (字符串)
字符串转成长整数
Float.parseFloat (字符串)
字符串转成浮点小数
Double.parseDouble (字符串)
字符串转成双精度浮点小数
String.valueOF (数据)
数据转成字符串

  除数不能是0判断处理的代码行:
31) if(n2==0)
32) out.println(n1+" / "+n2+" = "+"除数不能为0");

 

 

我也说两句
E-File帐号:用户名: 密码: [注册]
评论:(内容不能超过500字,如果您不填写用户名和密码只能以游客的身份发表评论。)

*评论内容将在30分钟以后显示!
发表须知:
一、用户须严格遵守国家法律和政策,包括但不限于《全国人大常委会关于维护互联网安全的决定》、《信息网络传播权保护条例》等规定,审慎、合法地利用伊妃(E-file)平台发表言论、作品。
二、用户的言论、行为若涉嫌违法或侵权,用户可能被强制承担因该行为直接或间接导致的全部法律责任。依照法律法规规定,伊妃(E-file)运营方有义务提供用户资料,有义务和权利采取删除、屏蔽、断开链接等各种必要措施。
三、伊妃(E-file)中心授权网络法律专业研究服务机构“网络法苑”为用户及客户提供包括免费咨询在内的全方位的法律支持。

 

版权所有:段保珠   电话:64616239   E-mail:dbz@sina.com   京ICP备06044461号
阿酷科技 Arkoo.com 提供底层技术