帮我写三个jsp文件,第一个jsp输入一个正整数,选择运算类型(阶乘或者累加),提交给第二个jsp,第二个jsp接收传递的参数,并完成相应计算,并跳到第三个jsp,第三个jsp输入第二个jsp计算的结果
时间: 2024-09-24 14:21:03 浏览: 37
在JSP(JavaServer Pages)中创建这样的流程涉及到几个步骤,因为JSP主要用于服务器端动态生成HTML内容。以下是三个基本JSP文件的大致结构:
1. `input.jsp`(输入页面)
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>输入正整数</title>
</head>
<body>
<form action="calculate.jsp" method="post">
<label for="number">请输入一个正整数:</label>
<input type="number" id="number" name="num"><br>
<label for="operation">请选择操作(阶乘 or 累加):</label>
<select id="operation" name="op">
<option value="factorial">阶乘</option>
<option value="sum">累加</option>
</select><br>
<input type="submit" value="计算">
</form>
</body>
</html>
```
2. `calculate.jsp`(处理计算并跳转页面)
```jsp
<%@ page import="java.util.*" %>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
String num = request.getParameter("num");
String op = request.getParameter("op");
int result;
if (op.equals("factorial")) {
// 计算阶乘
result = factorial(Integer.parseInt(num));
} else if (op.equals("sum")) {
// 计算累加
List<Integer> numbers = Arrays.asList(request.getParameterValues("num"));
result = numbers.stream().mapToInt(Integer::intValue).sum();
}
session.setAttribute("result", result);
%>
<%@ include file="display.jsp" %>
```
3. `display.jsp`(显示结果页面)
```jsp
<!DOCTYPE html>
<html>
<head>
<title>计算结果</title>
</head>
<body>
<%@ page import="java.lang.*" %>
<h2>计算结果是: <%=session.getAttribute("result")%></h2>
</body>
</html>
```
阅读全文