- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
这是一个简单的值 bean,使用 Spring 的新(从 3.0 起)方便的 @DateTimeFormat
注释(据我了解,它取代了 3.0 之前对自定义 PropertyEditor
的需求)根据 this SO question ):
import java.time.LocalDate;
import org.springframework.format.annotation.DateTimeFormat;
public class Widget {
private String name;
@DateTimeFormat(pattern = "MM/dd/yyyy")
private LocalDate created;
// getters/setters excluded
}
将表单提交中的值绑定(bind)到此小部件时,日期格式完美无缺。也就是说,只有 MM/dd/yyyy
格式的日期字符串才能成功转换为实际的 LocalDate
对象。太好了,我们已经完成了一半。
但是,我还希望能够使用 JSP EL 以相同的 MM/dd/yyyy
格式在 JSP View 中显示创建的 LocalDate
属性,例如所以(假设我的 spring Controller 向模型添加了一个小部件属性):
${widget.created}
不幸的是,这只会显示 LocalDate
的默认 toString
格式(yyyy-MM-dd
格式)。我知道,如果我使用 spring 的表单标签,日期会根据需要显示:
<form:form commandName="widget">
Widget created: <form:input path="created"/>
</form:form>
但我想简单地显示格式化的日期字符串,而不使用 Spring 表单标签。甚至是 JSTL 的 fmt:formatDate
标签。
来自 Struts2,HttpServletRequest
被包装在 StrutsRequestWrapper
中。这使得像这样的 EL 表达式能够实际询问 OGNL 值堆栈。所以我想知道spring是否提供了类似的东西来允许转换器执行?
编辑
我还意识到,当使用 spring 的 eval
标签时,日期将根据 @DateTimeFormat
注释中定义的模式显示:
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<spring:eval expression="widget.created"/>
有趣的是,当使用自定义 PropertyEditor
格式化日期时,此标记不会调用 PropertyEditor
的 getAsText
方法,因此默认为DateFormat.SHORT
为 described in the docs .无论如何,我仍然想知道是否有一种方法可以在无需使用标记的情况下实现日期格式 - 仅使用标准 JSP EL。
最佳答案
您可以使用该标签为您提供这些格式,例如金钱、数据、时间等等。
您可以在您的 JSP 上添加引用: <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
并使用以下格式: <fmt:formatDate pattern="yyyy-MM-dd" value="${now}" />
以下是引用:
http://www.tutorialspoint.com/jsp/jstl_format_formatdate_tag.htm
关于java - Spring MVC : how to display formatted date values in JSP EL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27516576/
我升级了 Java EE Web 应用程序以使用较新的 PrimeFaces 版本,突然在 PrimeFaces commandlink 的操作属性中调用重载 bean 方法不再起作用。我尝试使用 J
考虑以下代码片段。 var SomeView = Backbone.View.extend({ collection: new SomeCollection(), render: fu
很难说出这里问的是什么。这个问题是含糊的、模糊的、不完整的、过于宽泛的或修辞性的,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开它,visit the help center 。 已关
我的 JSP 在 Tomcat 7 中运行良好,但在 Tomcat 6 中不起作用,我认为这是因为您不能从 EL 2.1 调用方法(getter/setter 除外)。 我需要调用的方法不能命名为ge
这个问题在这里已经有了答案: How to nest an EL expression in another EL expression (2 个答案) 关闭 5 年前。 我有 Java 枚举类型,
为什么会这样? ....Some Code 在我的 profielForm 中,我只有一个 getCityOptions() 方法,没有 cityO
我正在关注 backbone.js tutorial并遇到了 2 个函数 initialize() 和 render()。 initialize() 在附加一些 html 时使用了 $(self.el
对于给定的示例,this.el 和 this.$el 之间有什么区别? 我知道 this.$el 指向 this.el 的 jQuery 对象,在本例中是 'li'。 当我呈现 View 时,我可以在
我一直在我的主干应用程序中使用 this.$el,如下所示: render: function() { this.$el.html(this.template); }, 然后我在网上看到代码使
我想使用 EL 在 jsp 中调用一个传递给它的参数的 bean 函数。问题是它不允许这样的事情:“${teacherBean.certificationFor(${particularField})
有没有办法可以在 EL 中获取 ServletContext 中设置的属性,使其最终成为 JavaScript 变量? 我将其设置为 context.setAttribute("testing.por
我正在编写 JSP/JSTL,并且我正在尝试遍历数据库中的几个项目。 我目前在数据库中有三列,${image1} , ${image2}和 ${image3} .我正在尝试使用以下代码为他们打印信息:
this.$el.html 和 this.$el.append 在渲染模板时有区别吗?我对 js、backbone 等完全陌生。在我正在从事的当前项目中,我看到类似 this.$el.append(P
我刚刚学习了一些主干教程,我有一个一般的 jQuery 问题,我实际上已经想知道了一段时间。 有时我会在 jQuery 选择器中看到带有第二个参数的调用,例如 $('ul', this.el)。 选择
有没有办法在 SpEL 中调用静态接口(interface)方法?例如: T(java.util.stream.IntStream).of(new Integer[]{1,2,3}).sum() 当我
这个问题已经有答案了: If a DOM Element is removed, are its listeners also removed from memory? (6 个回答) 已关闭 5 年
JBoss EL resolver online documentation中有这句话: It's important to fully understand how this extension t
使用 JSF 2.0 和 EL,我试图在 POJO 上调用一个方法,它是一个 viewscoped bean 的一个属性。该代码实际上与 @BalusC 非常相似的教程here .当我调用一个不带参数
所以我整个下午都在 this problem 上卡住了我最终解决了。原来我分配的是 el 而不是 $el。 两者有什么区别,我应该在什么时候使用它们? 最佳答案 直接来自 the documentat
我正在努力学习 Backbone 。我知道 el 是正在执行的元素。如果未指定,则为空 div。我正在我的 View 中创建一个模板并返回 View 对象。然后我正在渲染 View ,但我不明白为什么
我是一名优秀的程序员,十分优秀!