现在做网站中需要用到格式化输出Date对象,由于从数据库中取出来的是一个整体对象(例如Article对象),因此需要在显示页面来进行格式化处理。为了方便,写了一个DateFormateUtil类,里面提供了静态方法用于格式化Date对象(写的比较简单)。
public class DateFormatUtil {
private static SimpleDateFormat sdf = new SimpleDateFormat();
/**
* 按指定格式格式化输出Date对象
*
* @param pattern
* 格式化字符串
* @param date
* 要格式化的Date
* @return 格式化之后的字符串
*/
public static String format(String pattern, Date date) {
sdf.applyPattern(pattern);
return sdf.format(date);
}
/**
* 格式化Date的快捷方法
*
* @param date
* 要格式化的Date
* @return
*/
public static String date2String(Date date) {
return format("yyyy-MM-dd HH:mm:ss", date);
}
}
然后在页面上使用OGNL来调用这个类的静态方法。
<s:property value="@com.cms.util.DateFormatUtil@format('yy',postdate)" />
结果发现没有用.....
后来查看文档发现,如果要想在Struts2中使用OGNL调用静态方法,还得在struts.xml中开启一下。
<constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant>
重启tomcat,页面取值正常了。