Javaweb中,在网上书店系统中客户自行修改自己的个人信息的代码
时间: 2024-02-29 22:55:39 浏览: 17
以下是一个简单的客户个人信息修改的代码示例:
首先,在客户信息管理页面中,添加修改个人信息的链接:
```
<a href="updateCustomerInfo.jsp">修改个人信息</a>
```
然后,在 `updateCustomerInfo.jsp` 页面中,展示客户当前的个人信息,并提供修改表单:
```
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>修改个人信息</title>
</head>
<body>
<h1>修改个人信息</h1>
<form action="updateCustomerInfoServlet" method="post">
<input type="hidden" name="customerId" value="${customer.id}" />
<p>
<label>用户名:</label>
<span>${customer.username}</span>
</p>
<p>
<label>姓名:</label>
<input type="text" name="name" value="${customer.name}" />
</p>
<p>
<label>性别:</label>
<input type="radio" name="gender" value="male"
${fn:contains(customer.gender, 'male') ? 'checked' : ''} />男
<input type="radio" name="gender" value="female"
${fn:contains(customer.gender, 'female') ? 'checked' : ''} />女
</p>
<p>
<label>生日:</label>
<input type="date" name="birthday" value="${customer.birthday}" />
</p>
<p>
<input type="submit" value="保存" />
</p>
</form>
</body>
</html>
```
在提交表单后,将请求发送到 `updateCustomerInfoServlet`,并在其中处理客户提交的数据:
```
@WebServlet("/updateCustomerInfoServlet")
public class UpdateCustomerInfoServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 获取客户提交的数据
int customerId = Integer.parseInt(request.getParameter("customerId"));
String name = request.getParameter("name");
String gender = request.getParameter("gender");
LocalDate birthday = LocalDate.parse(request.getParameter("birthday"));
// 更新客户个人信息
CustomerService customerService = new CustomerServiceImpl();
Customer customer = customerService.getCustomerById(customerId);
customer.setName(name);
customer.setGender(gender);
customer.setBirthday(birthday);
customerService.updateCustomer(customer);
// 跳转回客户信息管理页面
response.sendRedirect("customerInfoManagement.jsp");
}
}
```
在 `CustomerService` 接口及其实现类中,提供获取客户信息、更新客户信息等方法:
```
public interface CustomerService {
Customer getCustomerById(int id);
void updateCustomer(Customer customer);
}
public class CustomerServiceImpl implements CustomerService {
private CustomerDao customerDao = new CustomerDaoImpl();
public Customer getCustomerById(int id) {
return customerDao.getCustomerById(id);
}
public void updateCustomer(Customer customer) {
customerDao.updateCustomer(customer);
}
}
public interface CustomerDao {
Customer getCustomerById(int id);
void updateCustomer(Customer customer);
}
public class CustomerDaoImpl implements CustomerDao {
// 实现 CustomerDao 接口中的方法,根据 id 获取客户信息、更新客户信息等
// ...
}
```
以上是一个简单的客户个人信息修改的代码示例,您可以根据实际需求进行相应的修改和扩展。