编写一个JSP页面,该页面提供一个表单,用户可以通过表单输入梯形的上底、下底和高的值,并提交给本JSP页面,该JSP页面将计算梯形的面积之任务交给一个page bean去完成。JSP页面使用getPr
时间: 2024-09-06 21:07:55 浏览: 76
一个jsp页面中多个提交按钮提交不同的页面.zip
首先,我们需要创建一个JSP页面,该页面包含一个表单,用户可以输入梯形的上底、下底和高的值。然后,我们需要创建一个Java类,称为page bean,用于计算梯形的面积。当用户提交表单后,JSP页面将接收输入的参数,并将计算任务交给page bean来完成。以下是一个简单的示例实现:
1. 创建JSP页面(例如:trapezoid.jsp):
```jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>梯形面积计算器</title>
</head>
<body>
<h2>梯形面积计算器</h2>
<form action="trapezoid.jsp" method="get">
<label for="topBase">上底:</label>
<input type="text" id="topBase" name="topBase"><br>
<label for="bottomBase">下底:</label>
<input type="text" id="bottomBase" name="bottomBase"><br>
<label for="height">高:</label>
<input type="text" id="height" name="height"><br>
<input type="submit" value="计算面积">
</form>
<% if(request.getParameter("topBase") != null && request.getParameter("bottomBase") != null && request.getParameter("height") != null) { %>
<p>梯形面积是:<%= request.getParameter("topBase").length() > 0 && request.getParameter("bottomBase").length() > 0 && request.getParameter("height").length() > 0 ? calculateArea(request.getParameter("topBase"), request.getParameter("bottomBase"), request.getParameter("height")) : "" %></p>
<% } %>
</body>
</html>
```
2. 创建page bean(例如:TrapezoidBean.java):
```java
public class TrapezoidBean {
public double calculateArea(String topBase, String bottomBase, String height) {
double top = Double.parseDouble(topBase);
double bottom = Double.parseDouble(bottomBase);
double heightValue = Double.parseDouble(height);
return (top + bottom) * heightValue / 2;
}
}
```
3. 在JSP页面中调用page bean来计算面积:
```jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="TrapezoidBean" %>
<%
String topBase = request.getParameter("topBase");
String bottomBase = request.getParameter("bottomBase");
String height = request.getParameter("height");
TrapezoidBean bean = new TrapezoidBean();
String area = "";
if(topBase != null && bottomBase != null && height != null) {
area = String.valueOf(bean.calculateArea(topBase, bottomBase, height));
}
%>
```
在这个示例中,当用户填写完表单并提交时,表单数据会被发送回同一个JSP页面。然后JSP页面会检查是否收到了所有的参数,并调用TrapezoidBean类的calculateArea方法来计算面积。
阅读全文