у меня есть проблема, у меня есть даты, сохраняемые в SQL в DATE, но я не добиваюсь, чтобы они вышли у меня даты в формате в день / месяц / в год (с/), и также не добиваюсь, чтобы null, когда есть дата, которая не существует, он не показал меня ему.
Я использую MySQL, и показываю результаты консультации в таблице.
Посмотрим вы можете говорить мне, как фокусировать это.
Dao, который я делаю, - следующий:
public ArrayList selectPrestamo() throws Exception {
ArrayList prestamos = null;
try (Connection connection = DBConnection.get()) {
if (connection == null) {//si la conexión es nula lanza una excepción
throw new Exception("Connection is null");
}
Statement statement = connection.createStatement();
ResultSet rs = statement.executeQuery("SELECT * FROM prestamo");
prestamos = new ArrayList();
while (rs.next()) {
Prestamo prestamo = new Prestamo(rs.getInt("id"), rs.getString("DNIusuario"),
rs.getString("ISBNobra"), rs.getDate("Fechasolicitud"),
rs.getDate("Fechadevolucion"));
prestamos.add(prestamo);
}
} catch (Exception ex) {
throw ex;
} finally {
DBConnection.close();
}
return prestamos;
}
и это лист jsp
<%@page import="java.util.List"%>
<%@page import="Entidades.Prestamo"%>
<%@page import="DAO.DAOPrestamo"%>
<%@page import="Conexion.DBConnection"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%
String message = "";//por si hay que mandar un mensaje de error
List prestamos = null;
DAOPrestamo dao = new DAOPrestamo();
try {
prestamos = dao.selectPrestamo();
} catch (Exception ex) {
message = ex.toString();
}
%>
formListarPrestamo
BIBLIOTECA - PRESTAMOS
Изначально я вижу, что это очень основная страница в JSP, в самом деле ты не используешь framework какой-либо, что не estГЎ плохо, я предполагаю, - упражнение acadГ©mico... и seguirГ© поэтому lГ-nea.
, Данная структуру тебя cГіdigo, я предлагаю, чтобы ты осуществил утилитарный класс с одним mГ©todo estГЎtico, что позволил тебе обращать даты в желанный формат и с другой стороны возвратил пустую цепь в тех случаях, где дата - NULL.
, Чтобы реализовывать ее conversiГіn дат в желаемый формат собственное serГ, - чтобы использовать класс SimpleDateFormat, эта позволяет тебе вооружать один patrГіn, под которым producirГЎ дата я предлагаю читать ее documentaciГіn для того, чтобы тебе это было немного ясно ( https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html )
В принципе mГ©todo podrГ, - чтобы быть чем-то asГ-:
public static String FechaATexto(Date fecha) {
if(fecha == null) {
return "";
}
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
return sdf.format(fecha);
}
С anterio serГ - в достаточный для logarar твое поручение просто в JSP deberГЎ заставлять пару изменений, как импортирование утилитарного класса, и с другой стороны использовать ее в таблице, чем-то asГ-:
<td><%= Utilidad.FechaATexto(prestamos.get(i).getFechadevolucion()) %></td>
Сейчас, все зависит quire прибывать, куда, podrГ-схвати, делать что-то еще genГ©rico даже добавляя параметр mГЎs к утилитарной функции, чему-то как это:
public static String FechaATexto(Date fecha, String formato) {
if(fecha == null) {
return "";
}
SimpleDateFormat sdf = new SimpleDateFormat(formato);
return sdf.format(fecha);
}
С этим mГ©todo podrГЎs не только перемещать его дату а tambiГ©n желанный формат, asГ - podrГ-схвати повторно использовать эта малолитражка в других случаях. AsГ - serГ - в Ваше использование:
<td><%= Utilidad.FechaATexto(prestamos.get(i).getFechadevolucion(),"dd/MM/yyyy") %></td>