请采用JSP Model1(JSP + JavaBean)开发模型开发一个动态网页计算器JSP服务应用,该服务页面能帮用户实现动态加、减、乘、除计算。并使用<jsp:javabeans>标签
时间: 2024-03-24 11:41:57 浏览: 78
好的,下面是基于JSP Model1开发模型的动态网页计算器JSP服务应用的示例代码。
首先,我们需要创建一个JavaBean类来处理计算逻辑。在本示例中,我们将创建一个名为`Calculator`的JavaBean类,其中包含四个方法:`add`、`subtract`、`multiply`和`divide`,用于处理加、减、乘、除运算。
Calculator.java:
```java
public class Calculator {
private double num1;
private double num2;
public Calculator() {}
public void setNum1(double num1) {
this.num1 = num1;
}
public void setNum2(double num2) {
this.num2 = num2;
}
public double add() {
return num1 + num2;
}
public double subtract() {
return num1 - num2;
}
public double multiply() {
return num1 * num2;
}
public double divide() {
return num1 / num2;
}
}
```
接下来,我们需要创建一个JSP页面来处理用户的输入和输出。在本示例中,我们将创建一个名为`calculator.jsp`的JSP页面,其中包含一个表单,用户可以在表单中输入两个数字和一个操作符,然后将其提交到服务器进行计算,并在页面上显示计算结果。
calculator.jsp:
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.text.DecimalFormat" %>
<%@ page import="java.util.*" %>
<%@ page import="Calculator" %>
<jsp:useBean id="calculator" class="Calculator" scope="session"/>
<%
String num1 = request.getParameter("num1");
String num2 = request.getParameter("num2");
String operator = request.getParameter("operator");
double result = 0;
if (num1 != null && num2 != null && operator != null) {
calculator.setNum1(Double.parseDouble(num1));
calculator.setNum2(Double.parseDouble(num2));
switch (operator) {
case "+":
result = calculator.add();
break;
case "-":
result = calculator.subtract();
break;
case "*":
result = calculator.multiply();
break;
case "/":
result = calculator.divide();
break;
default:
break;
}
}
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>动态网页计算器</title>
</head>
<body>
<h1>动态网页计算器</h1>
<form action="calculator.jsp" method="post">
<input type="text" name="num1" value="<%= num1 %>">
<select name="operator">
<option value="+" <%= operator.equals("+") ? "selected" : "" %>>+</option>
<option value="-" <%= operator.equals("-") ? "selected" : "" %>>-</option>
<option value="*" <%= operator.equals("*") ? "selected" : "" %>>*</option>
<option value="/" <%= operator.equals("/") ? "selected" : "" %>>/</option>
</select>
<input type="text" name="num2" value="<%= num2 %>">
<input type="submit" value="计算">
</form>
<%
if (num1 != null && num2 != null && operator != null) {
out.print("<h2>计算结果:");
DecimalFormat df = new DecimalFormat("#.###");
out.print(df.format(result));
out.print("</h2>");
}
%>
</body>
</html>
```
在这个JSP页面中,我们使用了`<jsp:useBean>`标签来创建了一个名为`calculator`的JavaBean对象,这个对象将用于处理用户提交的计算请求。在表单中,用户可以输入两个数字和一个操作符,并将其提交到服务器进行处理。
在JSP页面的Java代码中,我们首先获取用户提交的数字和操作符,然后将它们传递给`Calculator`对象的相应方法进行计算,并将计算结果保存在`result`变量中。
在JSP页面的HTML代码中,我们使用了JSP的表达式语言(EL)来显示用户输入的数字和操作符,以及计算结果。同时,我们使用了`<select>`标签来创建了一个下拉菜单,用于选择操作符。
希望这个示例对您有所帮助。
阅读全文