java jsp 将字符串转换为时间(或日期?)

标签 java string jsp date

早上好,我正在尝试制作一个 jsp 页面,该页面从文本中读取格式为 mm:ss 的字符串值;之后,它必须将此字符串转换为 time 类型,因为该值必须保存在 postgres time 类型的列中;现在代码如下:

<%@page import="java.util.List"%>
<%@page import="java.util.ArrayList"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.util.Date"%>
<%@page import="java.util.*"%>
<%@page import="java.text.*"%>
<form name="form1" method="post" action="prova.jsp">
<input name="tempo" type="text" />
<br/>
<input type="submit" value="Inserisci">
</form>

String tempoperc=request.getParameter("tempo");
Date data = null;            
DateFormat df = new SimpleDateFormat("mm:ss");            
data = df.parse(tempoperc);

执行jsp页面时出现以下错误:

An exception occurred processing JSP page /prova.jsp at line that contain 
"data = df.parse(tempoperc);"

出了什么问题?

最佳答案

根据异常跟踪:

root cause java.lang.NullPointerException java.text.SimpleDateFormat.parse(Unknown Source)

根本原因是查询参数 tempo 返回 null

如何重现问题?

new SimpleDateFormat("mm:ss").parse(null);

上述代码会导致上述异常。

<小时/>

始终尝试避免 Scriplet 并使用 JSTL 或 EL。对于数据库操作,在Servlet中进行,然后简单地将请求提交给Servlet。

在JSP中,可以使用JSTL Formatting Tags它提供了一组用于解析和格式化区域设置敏感的数字和日期的标签。

阅读我的另一篇文章,了解更多内容,以从日期字符串和长整型(时间以毫秒为单位)创建日期对象。

<小时/>

在将页面提交回客户端之前,所有 Scriplet 代码都会转换为 HTML 响应。

现在第一次访问页面时会发生什么?

由于表单未提交,因此参数值为 null 并导致上述异常。

关于java jsp 将字符串转换为时间(或日期?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24783246/

相关文章:

java - Angularjs 将文件多部分 FormData 中的空值传递给 Spring MVC

spring - 如何在 Spring 表单输入标签中设置默认值

java - 如何从 Java 中的结果集中遍历一行的值?

c# - MassTransit 弄乱了我的字符串数据

java - 如何从字符串中排除包含非字母字符的单词

javascript - 如何使用 jquery 在 css 中使用图像的绝对路径?

Java,读取文件内容到arraylist

Java Disruptor 模式和低延迟

java - 在java中将图像转换为圆柱形

c - 如何在节点中插入字符串(由用户输入)? (二叉搜索树)