2016-10-09 2 views
0

Рассмотрим этот код в Javaесть ли способ перебора двух списков параллельно в поле зрения?

for(int i=0,j=0;i<list1.size() && j<list2.size();i++,j++){ 

//do something 

} 

Можем ли мы сделать подобную вещь в красивый? Я старался лучше всего на своем уровне, но я не мог найти способ сделать это. Пожалуйста, помогите по этому поводу.

ответ

1

Нет поддержки для такого рода итераций, и это предназначено (чтобы избежать размещения вашей бизнес-логики в шаблоне HTL/Sightly). Вместо этого вы должны вызвать объект Use-Api, который применяет эту логику и возвращает набор кортежей из двух списков.

0

Добавления к ответу публикуемого Влад, Вы можете использовать либо

  • Стропальщик Модель
  • WCMUse класс
  • стороны
  • Серверного JavaScript для выполнения такой бизнес-логики

Я бы сказал, лучше использовать nodejs для таких простых задач, поскольку он более продуктивен, прост в написании и живет в той же папке, что и наглядный/HTL-код.

Например, если ваш компонент имя вашего HTL/код красивого «Componenta» является componentA.html, проживающим в Componenta папки и бизнес-логике может быть componentA.js, проживающим в той же папке.

use(function() { 
    /* 
     Business logic 
    */ 
    return { 
     name: valueName, 
     list: listObject 
    }; 
}); 

Модели Sling очень эффективны, когда вам необходимо выполнить бизнес-логику с использованием вложенных свойств и ресурсов. Например, компонент, который имеет несколько примитивных и полученных (из ресурса) свойств.

Смежные вопросы