实验4 JavaBean创建和使用
一、实验目的
1、掌握JavaBean创建和使用方法;
2、领会JavaBean简化页面设计的优势等。
二、实验内容
1、设计诸如以下页面的简单计算器
要求:完成加减乘除
加法、减法如下:
乘法如下:
当除数为零时提示报错:
2.将加减乘除部分写在JavaBean中,在JSP页面中调用显示计算结果。
三、实验方法
1、按照JavaBean书写规则,实现加减乘除;
2、主页面JSP中,设置供客户端输入的文本框。并显示最终计算结果。
calculater.jsp
<%@ page language="java" import="java.*"
contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>简单计算器</title>
<style type="text/css">
body {
width: 400px;
border: 1px solid #151515;
padding: 50px;
text-align: center;
margin: auto;
}
</style>
</head>
<body>
<!-- 将数据封装到bean中,作用域为当前页面 -->
<jsp:useBean id="calculater" scope="page" class="test4.Calculater" />
<!--<jsp:setProperty name="calculater" property="*" />-->
<p align="center">简单计算器</p>
<form action="calculater.jsp" method="post">
<br />
<p align="center">
<!-- 只能输入数字,将输入值为非数字的字符替换为空 “onkeyup”=按键抬起触发,“onafterpaste”=粘贴之后触发 -->
第一个参数<input type="text" name="num1" id="num1"
onkeyup="this.value=this.value.replace(/\D/g,'')"
onafterpaste="this.value=this.value.replace(/\D/g,'')">
</p>
<p align="center">
<select name="op">
<option value="jia">+</option>
<option value="jian">-</option>
<option value="cheng">*</option>
<option value="chu">/</option>
</select>
</p>
<p align="center">
第二个参数<input type="text" name="num2" id="num2"
onkeyup="this.value=this.value.replace(/\D/g,'')"
onafterpaste="this.value=this.value.replace(/\D/g,'')">
</p>
<br> <input style="display: block; margin: 0 auto" type="submit"
name="submit" value="计算">
<p align="center">
<span style="color: red"> <!-- 如果出错字体为红色 --> <%
if (request.getParameter("op") != null) {
String op = request.getParameter("op");
//如果被除数为0则报错
if (op.equals("chu") && calculater.getNum2() == 0) {
out.print("Sorry,出错了!被除数不能为零");
}
else {
%>
</span><span style="color: green"> <%="计算结果:"%>
<%=calculater.getNum1()%>
<%
if (op.equals("jia"))
out.print("+");
if (op.equals("jian"))
out.print("-");
if (op.equals("cheng"))
out.print("*");
if (op.equals("chu"))
out.print("/");
%>
<%=calculater.getNum2()%> = <%=calculater.getResult()%> <br /> <%
}
}
%>
</p>
</span>
</form>
</body>
</html>
Calculater.java
package test4;
import java.math.BigDecimal;
public class Calculater {
String classesPath = "/WEB-INF/classes";
private float num1;
private float num2;
private String op;
private float result;
public Calculater() {}
public float getNum1() {
return num1;
}
public void setNum1(float num1) {
this.num1 = num1;
}
public float getNum2() {
return num2;
}
public void setNum2(float num2) {
this.num2 = num2;
}
public String getOp() {
return op;
}
public void setOp(String op) {
this.op = op;
}
public float getResult() {
float result1=0;
try{
switch(op){
case "jia":
result1=num1+num2;
break;
case "jian":
result1=num1-num2;
break;
case "cheng":
result1=num1*num2;
break;
case "chu":
result1=num1/num2;
break;
default:
break;
}
}
catch (Exception e) {
e.getMessage();
}
return result1;
}
public void setResult(float result) {
this.result = result;
}
}