jsp(计算器)
input.jsp文件:
<%@ page language="java" contentType="text/html; charset=GB1232"%> <html> <head> <script language="javascript" type="text/javascript"> function check(){ if(form1.num1.value==""&&form1.num2.value==""){ window.alert("两个数不能为空"); } else if(form1.num1.value==""){ window.alert("第一个数不能为空"); return false; } else if(form1.num2.value==""){ window.alert("第二个数不能为空"); return false; } } </script> </head> <body> <form action="result.jsp"> 请输入第一个数: <input type="text" name="num1"></input><br/> <select name="flag"> <option value="+">+</option> <option value="-">-</option> <option value="*">*</option> <option value="/">/</option> </select> <br/> 请输入第二个数: <input type="text" name=“num2”></input><br/> <!--如果返回的为真,则访问result.jsp--> <input type="submit" value="提交" onclick="return check();"/> </form> </body> </html>
result.jsp文件:
%@ page language="java" contentType="text/html; charset=1232"> <html <head> <title>result</title> </head> <body> <% //接收这两个数和运算符 //注意:name不要搞错了,不是会出问题(接收的为空字符串) String s_num1=request.getParameter("num1"); String s_num2=request.getParameter("num2"); String s_flag=request.getParameter("flag"); //将String->int float num1=Float.parseFloat(s_num1); float num2=Float.parseFloat(s_num2); //得到结果 float result=0; switch(s_flag.charAt(0)){ case '+':result=sum1+sum2;break; case '-':result=sum1-sum2;break; case '*':result=sum1*sum2;break; case '/':result=sum1/sum2;break; } //输出结果 out.println("结果是" + result); %>
</body> </html>
问题:怎样在一个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 'My.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"> --> <script language="javascript" type="text/javascript"> function check(){ //判断输入的两个数字是否为空 if(form1.num1.value=="" && form1.num2.value==""){ window.alert("两个数不能为空"); } else if(form1.num1.value==""){ window.alert("第一个数不能为空"); return false; } else if(form1.num2.value==""){ window.alert("第二个数不能为空"); return false; } //判断输入的是否为数字(而不是其他的) } </script> </head> <body> <% //接收这两个数和运算符 //注意:name不要搞错了,不是会出问题(接收的为空字符串) String s_num1=request.getParameter("num1"); String s_num2=request.getParameter("num2"); String s_flag=request.getParameter("flag"); //将String->int int result=0,n1=0,n2=0; char c; //判断输入两个数的文本框里是否为空,不是则继续执行 if(s_num1!=null && s_num2!=null && s_flag!=null){//要用null判断,用不是空字符串没用 n1=Integer.parseInt(s_num1); n2=Integer.parseInt(s_num2); c=s_flag.charAt(0); switch(c){ case '+':result=n1+n2;break; case '-':result=n1-n2;break; case '*':result=n1*n2;break; case '/':result=n1/n2;break; } } %> <form name="form1" action="My.jsp"> 请输入第一个数: <input type="text" name="num1" value="<%=n1%>"></input><br/> <select name="flag" > <option >+</option> <option >-</option> <option >*</option> <option >/</option> </select><br/> 请输入第二个数: <!-- size:设置text的字段宽数,maxlength输入文字的个数 --> <input type="text" name="num2" value="<%=n2 %>" size="8" maxlength="6"></input><br/> <!--如果返回的为真,则访问result.jsp--> <input type="submit" value="提交" onclick=" return check();"/><br/> 计算的结果是:<%=result %> </form> </body> </html>
现在的几乎什么都不懂,但是不代表以后的我也是这样。