JSP版本计算器

涉及知识:JSP基本语法;html相关标签;以及javascript相关语法

两个页面:

myCal.jsp

  <!--这是计算器的界面-->
  <%@ page contentType="text/html;charset=gb2312"%>
  
  <html>
     <h1>我的计算器</h1>
     <hr>
     <head>
     <!--添加javaScript块  一般是放在head当中的-->
     <script language="javascript">
        <!-- 
        	//写一个函数验证用户输入是不是合法的
        function checkNum(){
             //判断是不是为空
             if(form1.val1.value==""||form1.val2.value==""){
             		window.alert("不能为空!");
             		return false;
             }
             //判断是不是合法的数
if(Math.round(form1.val1.value)!=form1.val1.value||Math.round(form1.val2.value)!=form1.val2.value){
             		window.alert("数据不合法");
             		return false;
             }
        }
         -->
     </script>
     </head>
     <body>
     <form name="form1" action="myResult.jsp">
     请输入第一个数:<input type="text" name="val1"><br>
     
     <!--name 值是很重要的-->
     
     <select name="flag">
     <option value="+">+</option>
     <option value="-">-</option>
     <option value="*">*</option>
     <option value="/">/</option>
     </select>
     <br>
     请输入第二个数:<input type="text" name="val2"><br>
     <input type="submit" value="计算" οnclick="return checkNum()">
     </form>
     </body>
  </html>

跳转到myResult.jsp

  <!--接收数据并进行处理-->
  <!--表明我是jsp文件,并且支持中文编码-->
  <%@ page contentType="text/html;charset=gb2312"%>
  <!-- out就是JSP九大内置对象之一,向客户端输出字节流 request对象是用来接收客户端的http请求 其中具有方法getParamter(String name)-->
  <html>
  	<body>
  	<%
  	//接收第一个数 其实是以字符串形式来接收的-->
  	String first = request.getParameter("val1");
  	
  	//接收第二个数 -->
  	String second = request.getParameter("val2");
  	
  	//接收运算符号 -->
  	String flag = request.getParameter("flag");
  	
  	int num1 = Integer.parseInt(first);
  	int num2 = Integer.parseInt(second);
  	int result = 0;
  	
  	//计算 -->
  	if(flag.equals("+")){
  		result = num1 + num2;
  	}
  	else if(flag.equals("-")){
  		result = num1 - num2;
  	}
  	else if(flag.equals("*")){
  		result = num1 * num2;
  	}
  	else if(flag.equals("/")){
  		result = num1 / num2;
  	}
  	//输出结果 -->
  	out.println("结果是:"+result);
  	%>
  	</body>
  </html>

综合在一起的JSP计算器,并做了一些改进

<!--这是计算器的界面-->
<%@ page contentType="text/html;charset=gb2312"%>


<html>
   <h1>我的计算器</h1>
   <hr>
   <head>
   <!--添加javaScript块  一般是放在head当中的-->
   <script language="javascript">
      <!-- 
      //写一个函数验证用户输入是不是合法的
      function checkNum(){
           //判断是不是为空
           if(form1.val1.value==""||form1.val2.value==""){
            window.alert("不能为空!");
            return false;
           }
           //判断是不是合法的数
           if(Math.round(form1.val1.value)!=form1.val1.value||Math.round(form1.val2.value)!=form1.val2.value){
            window.alert("数据不合法");
            return false;
           }
      }
       -->
   </script>
   </head>
   <body>
   
    <%
    int num1 = 0;
    int num2 = 0;
//接收第一个数 其实是以字符串形式来接收的-->
String first = request.getParameter("val1");

//接收第二个数 -->
String second = request.getParameter("val2");

//接收运算符号 -->
String flag = request.getParameter("flag");
// 防止异常的发生,我们做一个处理
if(first!=null&&second!=null&&flag!=null){
num1 = Integer.parseInt(first);
num2 = Integer.parseInt(second);
int result = 0;

//计算 -->
if(flag.equals("+")){
result = num1 + num2;
}
else if(flag.equals("-")){
result = num1 - num2;
}
else if(flag.equals("*")){
result = num1 * num2;
}
else if(flag.equals("/")){
result = num1 / num2;
}
//输出结果 -->
out.println("结果是:"+result);
}

%>
   
   <form name="form1" action="myCal.jsp">
   请输入第一个数:<input type="text" name="val1" value="<%=num1%>"><br>
   
   <!--name 值是很重要的-->
   
   <select name="flag">
   <option value="+">+</option>
   <option value="-">-</option>
   <option value="*">*</option>
   <option value="/">/</option>
   </select>
   <br>
   请输入第二个数:<input type="text" name="val2" value="<%=num2%>"><br>
   <input type="submit" value="计算" οnclick="return checkNum()">
   <hr>
   </form>
   </body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值