gpt4 book ai didi

jsp - 在 JSP 中使用 Java8 时间

转载 作者:行者123 更新时间:2023-12-02 23:04:36 25 4
gpt4 key购买 nike

对于我的开源项目,我正在从 java.util.Date 切换日期字段。到 Java 8 java.time.LocalDateTime .

在 JSP 中,我使用 Struts 标签来格式化 java.util.Date然而,从传入的 bean 中,这些将不适用于 Java 8 时间。我不仅使用 Struts 标签来检索时间字段,还使用用于解析它的格式化字符串:

<s:text name="generic.date.toStringFormat">
<s:param value="myBean.timeField" />
</s:text>

"generic.date.toStringFormat"位于消息资源文件中,myBean.timeField 来自支持 JSP 的 Action 表单。

正在看这篇文章:JSTL LocalDateTime format ,看来我可以使用两种替代方案,萨格的 https://github.com/sargue/java-time-jsptags或自定义 EL 函数,例如前者:

<javatime:format value="myBean.timeField" pattern="generic.date.toStringFormat"/>

问题是,"myBean.timeField""generic.date.toStringFormat"似乎只能在 Struts 标签内解析。如果<javatime>是一个标准的 HTML 标签,我可以使用 <s:property/>获取解析值,例如

<span><s:property value="myBean.timeField"/></span>

但是<javatime:.../>是一个 JSP 标签,我似乎无法解析其他 JSP 标签中的 Struts JSP 标签。问题:如何提取bean值myBean.timeField和消息资源值 generic.date.toStringFormat到变量中,这样我就可以在 <javatime/> 中引用它们上面的标签? (如果这可以通过自定义 EL 函数选项来完成,那也对我有用。)

最佳答案

您可以在value 属性中使用EL。 Struts2 包装了一个从 valueStack 中搜索属性的请求。这是从 EL 对操作变量的 native 访问。

<javatime:parseLocalDateTime value="${myBean.timeField}" pattern="generic.date.toStringFormat" var="parsedDate" />

关于jsp - 在 JSP 中使用 Java8 时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37777284/

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