2014-09-30 2 views
0

일부 사용자 정의보기가있는 달력이 있습니다. 뷰는 일정 구성 요소 (div 내부)에로드됩니다. 이 캘린더 구성 요소에는 html 템플릿을로드하는 js 파일이 있습니다.HTML 내부의 Java 내부 parseInt

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로 구문 분석하려고합니다 (문자열로 제공됨).

<% 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> 

그러나 이것은 우리에게 "예기치 않은 예약어"오류가 발생 :

이 템플릿 파일이처럼 보이는 방법 (cal.totalContractWeeks 매개 변수입니다)입니다.

무엇이 잘못 되었습니까? 우리 좀 도와 줄 수있어? 감사합니다.

답변

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>