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>
posted @ 2016-03-03 16:17  戒。  阅读(277)  评论(0编辑  收藏  举报