Primefaces 如何计算datatable中的两个日期数

Primefaces 如何计算datatable中的两个日期数,primefaces,datatable,calendar,Primefaces,Datatable,Calendar,如何计算数据表中输入框的两个日期 我做了单数日历,计算了2天,这里是代码 $(document).ready(function() { //Bind onchange on textfields PF('fromCal').jq.change(function() { calculateFromTo(PF('fromCal'), PF('toCal')); }); PF('toCal').jq.change(function() { calculateFr

如何计算数据表中输入框的两个日期

我做了单数日历,计算了2天,这里是代码

  $(document).ready(function() {  
  //Bind onchange on textfields
  PF('fromCal').jq.change(function() { 
  calculateFromTo(PF('fromCal'), PF('toCal'));
   }); 
  PF('toCal').jq.change(function() { 
  calculateFromTo(PF('fromCal'), PF('toCal'));
   });

  //Bind dateSelect from popup
  PF('fromCal').cfg.behaviors = {
  dateSelect: function() {calculateFromTo(PF('fromCal'),   
  PF('toCal'))},                              
  };
  PF('toCal').cfg.behaviors = {
  dateSelect: function() {calculateFromTo(PF('fromCal'), 
  PF('toCal'))},                                                        
   };                        
  });

   //calculate function
   function calculateFromTo(from, to) {
   oneDay = 24 * 60 * 60 * 1000;
   fromDate = from.getDate();
   toDate = to.getDate();

   if (fromDate && toDate) {
    diffDays = Math.round(Math.abs((fromDate.getTime() -
         toDate.getTime()) / (oneDay)));
     //get whatever element and update the calculated value/text
    $('.daysNumber').val(diffDays + " Days");
  }
 }
在xhtml中,我有这个

<p:calendar widgetVar="fromCal" /> 
<p:calendar widgetVar="toCal" />
<p:inputText styleClass="daysNumber" />
现在我想计算datatable中的两个日期,如何计算?有什么建议吗?非常感谢。
这是我使用datatable将页面更改为以下内容的代码:

<p:calendar widgetVar="fromCal" value="#{dayDiffBean.from}">
        <p:ajax event="dateSelect" listener="#{dayDiffBean.fromSelected}" update="diff" />
    </p:calendar>
    <p:calendar widgetVar="toCal" value="#{dayDiffBean.to}">
        <p:ajax event="dateSelect" listener="#{dayDiffBean.toSelected}" update="diff" />
    </p:calendar>
    <p:inputText id="diff" styleClass="daysNumber" value="#{dayDiffBean.diff}"/>

您必须用javascript实现这个函数吗?在backingbean中更容易计算。如何使用backingbean??
@Named
@SessionScoped
public class DayDiffBean implements Serializable{

private Date from;
private Date to;
private String diff="";
private final long oneDay=1000*60*60*24;

public void fromSelected(SelectEvent event){
    from=(Date) event.getObject();
    calDiff();
}

public void toSelected(SelectEvent event){
    to=(Date) event.getObject();
    calDiff();
}

public void calDiff(){
    if(from==null||to==null){
        diff="N/A";
        return;
    }
    diff=(to.getTime()-from.getTime())/oneDay+"";
}  
// getters and setters below...