html中Java内部的parseInt

parseInt inside Java inside html

本文关键字:parseInt 内部 Java html      更新时间:2023-09-26

我们有一个带有一些自定义视图的日历。我们的视图加载在一个日历组件中(在div中)。这个日历组件有一个加载html模板的js文件。

这是加载模板的方法:

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>

但这给我们带来了一个"意外的保留字"错误。

我们做错了什么?你能帮我们吗?谢谢

好的,问题不在于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>