a.新建mycal.Jsp,把简单计算机的框架写出来:
<form action="myresult.jsp">
请输入第一个数:<input type="text" name="num1"><br>
<select name="flag">
<option value=+>+</option>
<option value=+>-</option>
<option value=+>*</option>
<option value=+>/</option>
</select>
请输入第二个数:<input type="text" name="num2"><br>
<input type="submit" value="计算">
</form><br>
<hr>
<!-- 这里输出计算的结果 -->
计算结果:<%= result %><!-- 表达式语法 -->
</body>
b.新建myresul.jsp,把简单算法写进去:
<body>
<%
//接收第一个数
String s_num1=request.getParameter("num1");
//接收第二个数
String s_num2=request.getParameter("num2");
//接收预算符号
String flag=request.getParameter("flag");
int num1=0;
int num2=0;
int result=0;
//java中 String--int
num1=Integer.parseInt(s_num1);
num2=Integer.parseInt(s_num2);
//计算
if(flag.equals("+")){
result=num1+num2;
}else if (flag.equals("-")){
result=num1-num2;
}
else if (flag.equals("*")){
result=num1*num2;
}else{
result=num1/num2;
}
//输出结果
out.print("结果是:"+result):
%>
c.这样运行的结果是没有问题的,如果更简化计算操作则需要将两个.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 ‘ssss.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">
<!-- 在jsp中添加js代码,防止用户空提交 -->
<script language="javascript">
function checkNum(){
//alert("shaji");
//alert(form.num1.value);
//判断num1,是不是空的
if(form.num1.value==""){
window.alert("num1,不能为空haha");
}
//判断num1,是不是一个数
if(Math.round(form.num1.value)!=form.num1.value){
window.alert("num1,不是一个数");
}
}
</script>
</head><h1>我的计算器</h1>
<!-- 这是计算机的界面 -->
<body>
<%
int result=0;
//接收第一个数
if(request.getParameter("num1")!=""){
String s_num1=request.getParameter("num1");
//接收第二个数
String s_num2=request.getParameter("num2");
//接收预算符号
String flag=request.getParameter("flag");
int num1=0;
int num2=0;
//int result=0;
//java中 String--int
if(s_num1!=null){
num1=Integer.parseInt(s_num1);
}
if(s_num2!=null){
num2=Integer.parseInt(s_num2);
}
//计算
if(flag!=null){
if(flag.equals("+")){
result=num1+num2;
}else if (flag.equals("-")){
result=num1-num2;
}
else if (flag.equals("*")){
result=num1*num2;
}else{
result=num1/num2;
}
//输出结果
out.print("结果是:"+result);
}
}
%>
<form name="form" action="ssss.jsp">
请输入第一个数:<input type="text" name="num1"><br>
<select name="flag">
<option value=+>+</option>
<option value=->-</option>
<option value=*>*</option>
<option value=/>/</option>
</select>
请输入第二个数:<input type="text" name="num2"><br>
<input type="submit" value="计算" onclick="checkNum()" >
</form><br>
<hr>
<!-- 这里输出计算的结果 -->
计算结果:<%=result %><!-- 表达式语法 -->
</body>
</html>