用jsp编程实现:输入姓名,输入生日,输出:xxx还有几天过生日
时间: 2024-02-24 22:57:11 浏览: 64
用JSP实现的一个日历程序
好的,以下是用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="countdown.jsp" method="post">
<label for="name">姓名:</label>
<input type="text" id="name" name="name" required><br>
<label for="birthday">生日:</label>
<input type="date" id="birthday" name="birthday" required><br>
<input type="submit" value="计算">
</form>
</body>
</html>
```
在上面的代码中,我们创建了一个表单,请求方式为POST,提交到countdown.jsp页面。表单中包含两个输入框,分别用于输入姓名和生日。
接下来是countdown.jsp页面的代码:
```jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.time.LocalDate" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>生日倒计时</title>
</head>
<body>
<%
String name = request.getParameter("name");
String birthdayStr = request.getParameter("birthday");
LocalDate birthday = LocalDate.parse(birthdayStr);
LocalDate now = LocalDate.now();
LocalDate nextBirthday = birthday.withYear(now.getYear());
if (nextBirthday.isBefore(now) || nextBirthday.isEqual(now)) {
nextBirthday = nextBirthday.plusYears(1);
}
long daysLeft = now.until(nextBirthday).getDays();
%>
<h1>生日倒计时</h1>
<p><%= name %>还有 <%= daysLeft %> 天过生日。</p>
</body>
</html>
```
在上面的代码中,我们首先从请求参数中获取姓名和生日,然后使用Java 8的日期时间API计算出距离下一次生日还有多少天,最后在页面上输出结果。
注意:在实际开发中,应该对用户输入进行校验,例如检查生日是否合法等。
阅读全文