技术要点
本节代码具体介绍 date 数据 标签的使用方式介绍。
=??? date 标签使用。
=??? date 标签功能演示。
演示代码
使用 date 标签的 JSP 文件:
<!------------------------------------------- 文件名: dateTag.jsp-------------------------------->
?????????? <body>
?????????? <h3 align="left">
??????????????????? date 标签使用范例
?????????? </h3>
?????????? <h3 align="left">
??????????????????? date 类型两种表达方式
?????????? </h3>
?????????? <p>
??????????? 北京奥运会将于 <s:date name="omplicDate" format="MM-dd-yyyy" /> 召开
?????????? </p>
?????????? <p>
??????????? 北京奥运会将于 <s:date name="omplicDate" format="yyyy 年 MM 月 dd 日 " /> 召开
?????????? </p>
?????????? <h3 align="left">
???????????????????? 默认日期显示
?????????? </h3>
?????????? <p>
?????????? <s:date name="omplicDate" nice="false" />
?????????? </p>
?????????? <h3 align="left">
???????????????????? 当前日期和定义日期时间间隔
?????????? </h3>
?????????? <p>
??????????? 北京奥运会开幕 <s:date name="omplicDate" nice="true" /> 后
?????????? </p>
</body>
定义 Action 的配置文件:
<!------------------------------------------- 文件名: struts.xml-------------------------------->
<package name="C05.4" extends="struts-default">??? ?????????????????????? ?
?????????? ?<action name="dateTag" class="action.DateAction">
??????????????????? <result name="success">/jsp/dateTag.jsp</result>
?????????? </action> ?????????????????? ?
</package>
定义日期的 Action 内容:
<!------------------------------------------- 文件名: DateAction.java-------------------------------->
public ? class DateAction extends ActionSupport {
// 定义北京奥运会开幕日期的日期属性
private Date omplicDate;
?
public String execute() throws Exception {
?????????? setOmplicDate(DateUtil.stringToDate ("2008-08-08"));
?????????? return? SUCCESS ;
}
?
public Date getOmplicDate() {
?????????? return omplicDate;
}
?
public void setOmplicDate(Date omplicDate) {
?????????? this.omplicDate = omplicDate;
}
}
功能演示如图 5.11 。
图 5.11? date 标签范例图
代码解释
( 1 ) date 标签的功能是用来在 JSP 等视图界面上显示日期,该日期的格式可以自己定义 。其中 id 也是对需要显示的日期进行标识定义。 name 是 日期变量名 。
( 2 ) format 属性是让开发者自行定义这个需要显示的日期的显示格式。虽然 Struts2 也提供了一个默认的日期显示格式,但是在实际开发中不一定符合具体情况,因此提供了自定义日期格式的功能,方便开发者开发。
注意:在代码中需要指明的是年、月、日的定义一定要按照“ y ”、“ M ”、“ d ”这样的字母大小写,这也是 Java 中日期格式定义中要求的。
( 3 ) date 标签还提供了一个比较特殊的属性 nice ,初一看很多人(包括刚开始学习 Struts2 的笔者)都不知道这个属性是用来干嘛的。其实它是用来输出当前日期和需要显示的日期之间的时间差。特别是在开发中如果需要开发倒计时这样的功能时,该属性特别有用。如代码所示,在 JSP 页面上显示了离北京奥运会开幕还有多少时间的信息。
注意: nice 也是一个布尔型的值,需要使用它的时候也是显示定义为“ true ”。