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标记来格式化传入的Bean中的java.util.Date,但是,这些标记在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,似乎可以使用两种选择,Sargue的 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对您的操作变量的本地访问。

<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