问题描述
DateTimeFormatter出现一些问题,未格式化要在jsp文件中显示的日期和时间。
这些行没有显示任何错误,但是仍然无法正常工作。
它仅显示数据库中的日期和时间格式:2013-08-14和22:47:00。
我希望将其显示为:14/08/2013和22:47。
可以请人帮我吗?
谢谢
UserServlet:
package net.javaguides.usermanagement.web;
import java.io.IOException;
import java.sql.SQLException;
import java.time.LocalDate;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.util.List;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.javaguides.usermanagement.dao.UserDAO;
import net.javaguides.usermanagement.model.User;
@WebServlet("/")
public class UserServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private UserDAO userDAO;
public void init() {
userDAO = new UserDAO();
}
protected void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException {
doGet(request,response);
}
protected void doGet(HttpServletRequest request,IOException {
String action = request.getServletPath();
try {
switch (action) {
case "/new":
showNewForm(request,response);
break;
case "/insert":
insertUser(request,response);
break;
case "/delete":
deleteUser(request,response);
break;
case "/edit":
showEditForm(request,response);
break;
case "/update":
updateUser(request,response);
break;
default:
listUser(request,response);
break;
}
} catch (SQLException ex) {
throw new ServletException(ex);
}
}
private void listUser(HttpServletRequest request,HttpServletResponse response)
throws SQLException,IOException,ServletException {
List < User > listUser = userDAO.selectAllUsers();
request.setAttribute("listUser",listUser);
RequestDispatcher dispatcher = request.getRequestDispatcher("user-list.jsp");
dispatcher.forward(request,response);
}
private void showNewForm(HttpServletRequest request,IOException {
RequestDispatcher dispatcher = request.getRequestDispatcher("user-form.jsp");
dispatcher.forward(request,response);
}
private void showEditForm(HttpServletRequest request,ServletException,IOException {
int id = Integer.parseInt(request.getParameter("id"));
User existingUser = userDAO.selectUser(id);
RequestDispatcher dispatcher = request.getRequestDispatcher("user-form.jsp");
request.setAttribute("user",existingUser);
dispatcher.forward(request,response);
}
private void insertUser(HttpServletRequest request,IOException {
String name = request.getParameter("name");
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy");
LocalDate date = LocalDate.parse(request.getParameter("date"),formatter);
DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("HH:MM");
LocalTime time = LocalTime.parse(request.getParameter("time"),formatter1);
String email = request.getParameter("email");
String country = request.getParameter("country");
User newUser = new User(name,date,time,email,country);
userDAO.insertUser(newUser);
response.sendRedirect("user-list.jsp");
}
private void updateUser(HttpServletRequest request,IOException {
int id = Integer.parseInt(request.getParameter("id"));
String name = request.getParameter("name");
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd/MM/yyyy");
LocalDate date = LocalDate.parse(request.getParameter("date"),formatter);
DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("HH:MM");
LocalTime time = LocalTime.parse(request.getParameter("time"),formatter1);
String email = request.getParameter("email");
String country = request.getParameter("country");
User book = new User(id,name,country);
userDAO.updateUser(book);
response.sendRedirect("user-list.jsp");
}
private void deleteUser(HttpServletRequest request,IOException {
int id = Integer.parseInt(request.getParameter("id"));
userDAO.deleteUser(id);
response.sendRedirect("user-list.jsp");
}
user-list.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/fmt" prefix="fmt"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%>
<html>
<head>
<title>User Management Application</title>
<link rel="stylesheet"
href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T"
crossorigin="anonymous">
</head>
<body>
<sql:setDataSource var="snapshot" driver="com.mysql.cj.jdbc.Driver"
url="jdbc:mysql://localhost:3306/dbname2?allowPublicKeyRetrieval=true&useSSL=false"
user="root" password="root"/>
<header>
<nav class="navbar navbar-expand-md navbar-dark"
style="background-color: tomato">
<div>
<a href="" class="navbar-brand"> User
Management App </a>
</div>
</nav>
</header>
<br>
<div class="row">
<div class="container">
<h3 class="text-center">List of Users</h3>
<hr>
<div class="container show-inline-block text-left">
<a href="<%=request.getContextPath()%>/new" class="btn btn-success">Add
New User</a>
<a href="<%=request.getContextPath()%>/list" class="btn btn-success">List All
Users</a>
</div>
<div class="container show-inline-block text-right">
<form action="user-list.jsp" method="post">
<input type = "text" class="form-group" name="search" value="${param.search}" placeholder="Name" style="width: 300px;" >
<input type ="submit" value="Search">
</form>
</div>
<c:if test="${!empty param.search}">
<sql:query var="user" dataSource="${snapshot}">
select * from users where name like ?
<sql:param value="${param.search.toUpperCase()}" />
</sql:query>
</c:if>
<c:if test="${empty param.search}">
<sql:query var="user" dataSource="${snapshot}">
select * from users
</sql:query>
</c:if>
<table class="table table-bordered">
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Date</th>
<th>Time</th>
<th>Email</th>
<th>Country</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
<c:forEach var="listUser" items="${user.rows}">
<tr>
<td><c:out value="${listUser.id}" /></td>
<td><c:out value="${listUser.name}" /></td>
<td><c:out value="${listUser.date}" /></td>
<td><c:out value="${listUser.time}" /></td>
<td><c:out value="${listUser.email}" /></td>
<td><c:out value="${listUser.country}" /></td>
<td><a href="edit?id=<c:out value='${listUser.id}' />">Edit</a>
<a href="delete?id=<c:out value='${listUser.id}' />">Delete</a>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</div>
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)