.编写一个JSP页面,该页面提供一个表单,用户可以通过表单输入梯形的上底、下底和高的值,并提交给本JSP页面;该JSP页面将计算梯形面积的任务交给一个page bean去完成。JSP页面使用getProperty动作标记显示page bean中的数据,例如梯形的面积。
时间: 2023-11-27 15:49:30 浏览: 123
以下是一个简单的JSP页面示例,用于计算梯形面积并显示结果。
```
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="bean" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>梯形面积计算器</title>
</head>
<body>
<h1>梯形面积计算器</h1>
<form method="post" action="${pageContext.request.contextPath}/calculate.jsp">
<p>
上底:<input type="text" name="upper" required>
</p>
<p>
下底:<input type="text" name="lower" required>
</p>
<p>
高:<input type="text" name="height" required>
</p>
<p>
<input type="submit" value="计算">
</p>
</form>
<hr>
<h2>计算结果:</h2>
<p>梯形面积为:<bean:write name="trapezoid" property="area"/>。</p>
</body>
</html>
```
在上面的代码中,我们使用了JSTL库中的`bean`标签库,以便使用`getProperty`动作标记来显示page bean中的数据。
下面是`calculate.jsp`页面的代码,用于接收表单数据并计算梯形面积:
```
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<jsp:useBean id="trapezoid" class="com.example.Trapezoid" scope="page"/>
<jsp:setProperty name="trapezoid" property="upper" param="upper"/>
<jsp:setProperty name="trapezoid" property="lower" param="lower"/>
<jsp:setProperty name="trapezoid" property="height" param="height"/>
<jsp:setProperty name="trapezoid" property="area" value="${trapezoid.calculateArea()}"/>
<jsp:forward page="index.jsp"/>
```
在上面的代码中,我们使用了一个名为`Trapezoid`的Java类,该类具有3个属性:`upper`、`lower`和`height`,以及一个计算梯形面积的方法`calculateArea()`。我们使用`jsp:useBean`标签创建一个名为`trapezoid`的page bean,并使用`jsp:setProperty`标签将表单数据设置到`trapezoid`对象的属性中。最后,我们使用`jsp:setProperty`标签将计算出的梯形面积设置到`area`属性中,然后使用`jsp:forward`标签将结果返回到`index.jsp`页面。
注意:为了使上述示例代码正常运行,需要将`com.example.Trapezoid`类替换为具有相同属性和方法的实际Java类。
阅读全文