Primefaces日历组件中不会突出显示当前日期

时间:2016-01-05 14:28:42

标签: jsf primefaces calendar

我在我的一个xhtml页面中使用了primefaces日历组件,如下所示。

<!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:ui="http://java.sun.com/jsf/facelets" 
      xmlns:h="http://java.sun.com/jsf/html" 
      xmlns:f="http://java.sun.com/jsf/core" 
      xmlns:p="http://primefaces.org/ui">

<ui:composition template="../../template/header.xhtml" >

<ui:define name="pageTitle">Primefaces Calendar</ui:define>

<ui:define name="body">
   <p:calendar value="#{dateChooserBean.selectedDate}" />
</ui:define>

</ui:composition>

DateChooserBean

import java.util.Date;

public class DateChooserBean {

    private Date selectedDate;

     public Date getSelectedDate() {
         return selectedDate;
     }

     public void setSelectedDate(Date selectedDate) {
         this.selectedDate = selectedDate;
     }
}

问题在于,呈现日历时不会突出显示今天的日期。 如果我如下所示初始化selectedDate变量,则默认情况下会加载今天的日期并突出显示它。

import java.util.Date;

public class DateChooserBean {

    **private Date selectedDate = new Date();**

    public Date getSelectedDate() {
        return selectedDate;
    }

    public void setSelectedDate(Date selectedDate) {
        this.selectedDate = selectedDate;
    }
}

这是primefaces的限制吗?还有其他方法可以实现吗?

1 个答案:

答案 0 :(得分:0)

这是一个浏览器问题。如果我使用的是Chrome,它会突出显示今天的日期,但它不适用于Internet Explorer。然后我按照下面Stack Overflow讨论中提供的解决问题的建议。

IE-8 Compatible issue with Primefaces?

我在head标签内添加了以下代码行。

   <f:facet name="first">
      <meta http-equiv="X-UA-Compatible" content="IE=edge" />
     <meta content="text/html; charset=UTF-8" http-equiv="content-type"/>
   </f:facet>