对于我的开源项目,我正在将日期字段从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,我似乎可以使用两种替代方法,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 函数选项来完成,那也对我有用。)