本文概述
它用于将用户输入转换为指定的日期。你可以通过将convertDateTime标签嵌套在component标签内来将其数据转换为java.util.Date。 convertDateTime标记具有几个属性, 可用于指定数据的格式和类型。
标签属性
属性 | 类型 | 描述 |
---|---|---|
binding | DateTimeConverter | 它用于将转换器绑定到托管bean属性。 |
dateStyle | String | 它用于定义日期或日期字符串的日期部分的格式(由java.text.DateFormat指定)。仅当类型是日期或两者兼有且未定义模式时才应用。有效值:默认, 短, 中, 长和满。如果未指定任何值, 则使用默认值。 |
for | String | 它用于引用此标签嵌套在其中的复合组件中的对象之一。 |
locale | 字符串或语言环境 | 它是Locale的一个实例, 其日期和时间的预定义样式在格式化或解析期间使用。如果未指定, 将使用FacesContext.getLocale返回的语言环境。 |
pattern | String | 它用于自定义格式设置模式, 该模式确定如何格式化和解析日期/时间字符串。如果指定了此属性, 则忽略dateStyle, timeStyle和type属性。 |
timeStyle | String | 它用于定义时间或日期字符串的时间部分的格式(由java.text.DateFormat指定)。仅当类型为时间且未定义模式时才应用。有效值:默认, 短, 中, 长和满。如果未指定任何值, 则使用默认值。 |
timeZone | 字符串或时区 | 它用于解释日期字符串中任何时间信息的时区。 |
type | String | 它用于指定字符串值将包含日期, 时间还是两者都包含。有效值为日期和/或时间。如果未指定任何值, 则使用日期。 |
JSF <f:converterDateTime>标记示例1
// index.xhtml
<h:form>
<h:outputLabel for="username">User Name</h:outputLabel>
<h:inputText id="user-id" value="#{user.name}"/><br/>
<h:outputLabel for="age">Date of Birth</h:outputLabel>
<h:inputText id="dob-id" value="#{user.dob}" converterMessage="Please provide date of birth in dd/mm/yyyy format">
<f:convertDateTime pattern="dd/mm/yyyy" />
</h:inputText><br/>
<h:commandButton action="response.xhtml" value="Submit"/>
</h:form>
// User.java
import java.util.Date;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
@ManagedBean
@RequestScoped
public class User {
String name;
Date dob;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Date getDob() {
return dob;
}
public void setDob(Date dob) {
this.dob = dob;
}
}
// response.xhtml
<h:body>
<h1> Hello, <h:outputText value="#{user.name}"/>
</h1>
<h:outputLabel>Your date of birth is: </h:outputLabel>
<h:outputText value="#{user.dob}">
<f:convertDateTime pattern="dd/mm/yyyy"/>
</h:outputText>
</h:body>
输出:
//索引页
//索引页
//回应页面
JSF <f:converterDateTime>标记示例2
// index.xhtml
<h:form>
<h:outputLabel for="username">User Name</h:outputLabel>
<h:inputText id="user-id" value="#{user.name}"/><br/>
<h:outputLabel for="age">Date of Birth</h:outputLabel>
<h:inputText id="dob-id" value="#{user.dob}">
<f:convertDateTime pattern="dd/MM/yyyy"/>
</h:inputText>
<br/>
<h:commandButton action="response.xhtml" value="Submit"/>
</h:form>
// User.Java
import java.util.Date;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
@ManagedBean
@RequestScoped
public class User {
String name;
Date dob;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Date getDob() {
return dob;
}
public void setDob(Date dob) {
this.dob = dob;
}
}
// response.xhtml
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<h:head>
<title>Response Page</title>
</h:head>
<h:body>
<h1> Hello, <h:outputText value="#{user.name}"/>
</h1>
<h:outputLabel value="Your date of birth in different-different formats is given below:"></h:outputLabel><br/>
<h:outputText value="#{user.dob}">
<f:convertDateTime type="date" dateStyle="medium"/>
</h:outputText>
<br/>
<h:outputText value="#{user.dob}">
<f:convertDateTime type="date" dateStyle="full"/>
</h:outputText>
<br/>
<h:outputText value="#{user.dob}">
<f:convertDateTime type="time" dateStyle="full"/>
</h:outputText>
<br/>
<h:outputText value="#{user.dob}">
<f:convertDateTime type="date" pattern="dd/mm/yyyy"/>
</h:outputText>
<br/>
<h:outputText value="#{user.dob}">
<f:convertDateTime dateStyle="full" pattern="yyyy-mm-dd"/>
</h:outputText>
<br/>
<h:outputText value="#{user.dob}">
<f:convertDateTime dateStyle="full" pattern="yyyy.MM.dd 'at' HH:mm:ss z"/>
</h:outputText>
<br/>
<h:outputText value="#{user.dob}">
<f:convertDateTime dateStyle="full" pattern="h:mm a"/>
</h:outputText>
<br/>
<h:outputText value="#{user.dob}">
<f:convertDateTime dateStyle="long" timeZone="EST" type="both"/>
</h:outputText>
<br/>
<h:outputText value="#{user.dob}">
<f:convertDateTime locale="de" timeStyle="long" type="both" dateStyle="full"/>
</h:outputText>
<br/>
<h:outputText value="#{user.dob}">
<f:convertDateTime locale="en" timeStyle="short" type="both" dateStyle="full"/>
</h:outputText>
</h:body>
</html>
输出:
//索引页
//回应页面
评论前必须登录!
注册