Java 如何在JSF按钮上以自定义格式显示日期标签?

Java 如何在JSF按钮上以自定义格式显示日期标签?,java,jsf,Java,Jsf,如何在JSF上以自定义格式显示日期(或时间戳) 我使用的是JSF1.1,JSF不支持转换器,也不支持任何文本子项。您可能需要在某个助手支持bean方法中执行该作业 与 或为此创建可重用的自定义EL函数: ... 与 和/WEB-INF/functions.tld(给定JSF1.1,我假设您仍然使用JSP,而不是Facelets): 1 自定义函数 http://example.com/el/functions 形成日期 com.example.el.Functions java.lan

如何在JSF上以自定义格式显示日期(或时间戳)

我使用的是JSF1.1,JSF不支持转换器,也不支持任何文本子项。您可能需要在某个助手支持bean方法中执行该作业


或为此创建可重用的自定义EL函数:


...

/WEB-INF/functions.tld
(给定JSF1.1,我假设您仍然使用JSP,而不是Facelets):


1
自定义函数
http://example.com/el/functions
形成日期
com.example.el.Functions
java.lang.String formatDate(java.util.Date,java.lang.String)

(注意:如果您使用的是Servlet 2.4/JSP 2.0,请将
2_1
2.1
分别替换为
2_0
2.0

到目前为止您尝试了什么?这有标准的方法,请先搜索并尝试。您是要格式化日期,还是要在字符串中使用日期(例如,
转到2013
)。我正试着做像这样的事this@kostja:这实际上没有“标准方法”。至少不在标准JSF 1.1中。@kostja:它在
中不起作用。它仅在
UIOutput
组件中工作(也包括
UIInput
组件,但不包括
UICommand
组件)。
public String getDateInCustomizedFormat() {
    return new SimpleDateFormat("yyyy-MM-dd").format(date);
}
package com.example.el;

import java.text.SimpleDateFormat;
import java.util.Date;

public final class Functions{

    private Functions() {
        // Hide constructor.
    }

    public static String formatDate(Date date, String pattern) {
        Locale locale = FacesContext.getCurrentInstance().getViewRoot().getLocale();
        return new SimpleDateFormat(pattern, locale).format(date);
    }

}