gpt4 book ai didi

java - 如何处理作为参数发送到 Servlet 的空白日期

转载 作者:行者123 更新时间:2023-12-01 10:35:44 25 4
gpt4 key购买 nike

我正在编写一个 Web 应用程序,其中有要发送到 Servlet 的日期,我想发送一些空白日期,并根据这些日期我想构建一个查询。但在这里我的问题是,当我传递参数时,即它工作正常的日期,当我发送空白参数时,它会抛出以下错误。

Start date got is  and end date is //Here I'm checking the output
Unparseable date: "" servlet Errotr

当我给出日期时,它在控制台中显示为获取的开始日期为 (TheStartDateValue),结束日期为 (TheEndDateValue) 并且没有异常(exception)(因为日期已被解析)。下面是我的代码。

public class Controller extends HttpServlet {
private static final long serialVersionUID = 1L;

protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
/* Date Start */
String startDateStr = request.getParameter("startDate");
String endDateStr = request.getParameter("endDate");
System.out.println("Start date got is " + startDateStr + " and end date is " + endDateStr);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat print = new SimpleDateFormat("yyyy-MM-dd");
Date startParsedDate = null, endParsedDate = null;
String startDate = null, endDate = null;
if (!startDateStr.equals(null) || !startDateStr.equals("")) {
startParsedDate = sdf.parse(startDateStr);
startDate = print.format(startParsedDate);
}
if (!endDateStr.equals(null) || !endDateStr.equals("")) {
endParsedDate = sdf.parse(endDateStr);
endDate = print.format(endParsedDate);
}

System.out.println(startDate + " value and " + endDate);
/* Date End */
DataDao dataDao = new DataDao();
ArrayList<UserBean> list = dataDao.getFrameWork(startDate, endDate);
String searchList = new Gson().toJson(list);
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(searchList);
System.out.println("servlet Done");
} catch (Exception e) {
System.err.println(e.getMessage() + " servlet Errotr");
}
}

我正在尝试处理 startDateStrstartDateStr 以检查输入值是否为 null 或使用以下 block 具有某些值在我上面的代码中。

if (!startDateStr.equals(null) || !startDateStr.equals("")) {
startParsedDate = sdf.parse(startDateStr);
startDate = print.format(startParsedDate);
}
if (!endDateStr.equals(null) || !endDateStr.equals("")) {
endParsedDate = sdf.parse(endDateStr);
endDate = print.format(endParsedDate);
}

请让我知道我哪里出了问题以及如何解决这个问题。

谢谢

最佳答案

问题出现在 !startDateStr.equals(null) || 条件下!startDateStr.equals(""),您应该将其更改为 startDateStr != null && !startDateStr.equals("") ,同样的问题出现在第二种情况中。

关于java - 如何处理作为参数发送到 Servlet 的空白日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34746859/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com