个性化阅读
专注于IT技术分析

JSF f:convertDateTime标记

本文概述

它用于将用户输入转换为指定的日期。你可以通过将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 convertdatetime标签1

//索引页

JSF F convertdatetime标签2

//回应页面

JSF F convertdatetime标签3

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>

输出:

//索引页

JSF F convertdatetime标签4

//回应页面

JSF F convertdatetime标签5

赞(0)
未经允许不得转载:srcmini » JSF f:convertDateTime标记

评论 抢沙发

评论前必须登录!