JSTL 访问 c:set 变量并使用 SimpleDateFormat 进行转换

JSTL accessing c:set variable and convert with SimpleDateFormat

我有以下源代码:

<c:set var="runtimeEnd" value="${content.valueList.Promotion[0].value.RuntimeEnd}"/>

这是jsp中的一个数字,代表一个日期,例如:1425769140000

如何在 Java 中访问这个变量?我的意思是,当我执行以下操作时,它甚至不再加载页面:

<% out.println(${runtimeEnd}); %>

我想将变量插入到以下 JAVA 代码中以显示日期

<% SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd MMMMMMMMM yyyy");
out.println(simpleDateFormat.format(${runtimeEnd})); %>

为什么要使用 scriplet?如果您已经开始使用 jstl 库,请使用它。

JSTL Format Date 图书馆似乎是你所需要的。

示例:

<c:set var="runtimeEnd" value="${content.valueList.Promotion[0].value.RuntimeEnd}"/>
<fmt:formatDate pattern="yyyy-MM-dd" value="${runtimeEnd}" />

P.S。要使用 jstl 库打印变量,请使用 <c:out value="This will be printed" /> 标签。

Scriplet 方法:

打印:

 <%=pageContext.getAttribute("runtimeEnd") %>

格式:

<% SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd-MM-yyyy"); 
String convertedDate = String.valueOf(pageContext.getAttribute("runtimeEnd"));
%>
<%=simpleDateFormat.format(convertedDate); %>