2014-09-30 38 views
0

我們有一個包含一些自定義視圖的日曆。我們的視圖加載到日曆組件(在div內)。這個日曆組件有一個加載html模板的js文件。parseInt在裏面的Java裏面

這是加載模板的方法:

Calendar.prototype._loadTemplate = function(name) { 
    if(this.options.templates[name]) { 
      return; 
    } 
    var self = this; 
    $.ajax({ 
      url:  self._templatePath(name), 
      dataType: 'html', 
      type:  'GET', 
      async: false, 
      cache: this.options.tmpl_cache 
    }).done(function(html) { 
      self.options.templates[name] = _.template(html); 
    }); 
}; 

這正常使用模板沒有參數。

但是現在,我們想要將參數傳遞給模板。該參數通過罰款,但我們想分析它爲int(因爲它來作爲字符串)。

這是模板文件的樣子(cal.totalContractWeeks是參數):

<% import java.lang.Integer; %> 

<div class="cal-year-box"> 
    <div class="row row-fluid cal-before-eventlist colgrid"> 
    <% t = Integer.parseInt(cal.totalContractWeeks); %> 
    <% imax = t; %> 
    <% jmax = 10; %> 
    <% i = 0; %> 
    <% j = jmax ; %> 
    <% while(i <= imax) { %> 
     <div class="span3 col-md-1 cal-cell" data-cal-row="-week<%= j%>" style="background-color: <%= cal._weekContractEventStatusColor(i) %>" ><%= cal._weekContract(i) %> 
     <% i ++; %> 
     <% j ++; %>   
    </div> 
     <% if (j > jmax) { %> 
    </div> 
    <div class="row row-fluid cal-before-eventlist colgrid"> 
     <% j = 1; %> 
     <% } %>  
    <% } %> 
    </div> 
</div> 

但是,這把我們的「意外保留字」的錯誤。

我們做錯了什麼?你能幫助我們嗎? 謝謝!

回答

0

好的,問題不是cal.totalContractWeeks是一個字符串,但是在第一次加載時沒有被填充(迫使第二次加載的模板工作正常)。 所以我們創建了一個輔助函數來檢索cal.totalContractWeeks中預期的更新值。

這裏是模板現在的樣子:

<div class="cal-year-box"> 
    <div class="row row-fluid cal-before-eventlist colgrid"> 
    <% t = cal._getTotalContractWeeks(); %> 
    <% imax = t; %> 
    <% jmax = 10; %> 
    <% i = 0; %> 
    <% j = jmax ; %> 
    <% while(i <= imax) { %> 
     <div class="span3 col-md-1 cal-cell" data-cal-row="-week<%= j%>" style="background-color: <%= cal._weekContractEventStatusColor(i) %>" ><%= cal._weekContract(i) %> 
     <% i ++; %> 
     <% j ++; %>   
    </div> 
     <% if (j > jmax) { %> 
    </div> 
    <div class="row row-fluid cal-before-eventlist colgrid"> 
     <% j = 1; %> 
     <% } %>  
    <% } %> 
    </div> 
</div>