(编写一个JSP页面,该页面提供一个表单,用户通过表单输入正方形的边长后提交给本页面,JSP页面将计算正方形面积和周长的任务交给一个JavaBean去完成,并将计算结果在另外一个JSP页面中显示出来。
时间: 2024-03-15 19:44:27 浏览: 153
好的,这是一个比较完整的JSP页面实现,包括前端表单和后端JavaBean实现:
首先是JSP页面代码,可以命名为square.jsp:
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>正方形计算器</title>
</head>
<body>
<h1>正方形计算器</h1>
<form action="squareCalc.jsp" method="post">
<label>请输入正方形的边长:</label>
<input type="number" name="sideLength" required>
<br>
<button type="submit">计算</button>
</form>
</body>
</html>
```
该页面包含一个表单,用户输入正方形的边长后提交给squareCalc.jsp页面进行计算。
接下来是squareCalc.jsp页面代码,用来处理表单提交请求并进行计算,可以命名为squareCalc.jsp:
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>正方形计算结果</title>
</head>
<body>
<h1>正方形计算结果</h1>
<%-- 获取表单提交的边长值 --%>
<%
int sideLength = Integer.parseInt(request.getParameter("sideLength"));
%>
<%-- 创建JavaBean对象进行计算 --%>
<jsp:useBean id="squareBean" class="com.example.SquareBean" scope="page" />
<%-- 调用JavaBean的方法进行计算 --%>
<%-- 并将计算结果保存到request对象中 --%>
<%
request.setAttribute("area", squareBean.calcArea(sideLength));
request.setAttribute("perimeter", squareBean.calcPerimeter(sideLength));
%>
<%-- 跳转到结果页面进行展示 --%>
<jsp:forward page="squareResult.jsp" />
</body>
</html>
```
该页面首先获取表单提交的边长值,然后创建一个JavaBean对象进行计算,并将计算结果保存到request对象中。最后跳转到squareResult.jsp页面进行展示。
最后是JavaBean的代码,可以命名为SquareBean.java:
```java
package com.example;
public class SquareBean {
public int calcArea(int sideLength) {
return sideLength * sideLength;
}
public int calcPerimeter(int sideLength) {
return 4 * sideLength;
}
}
```
该JavaBean包含两个方法,用于计算正方形的面积和周长,分别接收正方形的边长作为参数,并返回计算结果。
最后是squareResult.jsp页面代码,用于展示计算结果,可以命名为squareResult.jsp:
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>正方形计算结果</title>
</head>
<body>
<h1>正方形计算结果</h1>
<%-- 获取request对象中保存的计算结果 --%>
<%
int area = (int) request.getAttribute("area");
int perimeter = (int) request.getAttribute("perimeter");
%>
<p>面积: <%= area %></p>
<p>周长: <%= perimeter %></p>
</body>
</html>
```
该页面从request对象中获取计算结果并展示出来。
可以将这些文件放入Web应用的根目录下的任意文件夹中,然后通过访问square.jsp页面进行测试。
阅读全文