Основные утилитные методы HTTL разметки

httl.spi.methods .CollectionMethod

toCycle(Collection<T> values)
toCycle(T[] values)

Преобразует переданный перечень элементов в бесконечную циклическую коллекцию, в которой будет постоянно повторятся переданная последовательность элементов.

Возвращает циклический итератор со следующими свойствами:

  • next - следующий элемент
  • value - текущий элемент
  • values - массив всех элементов
  • size - размер циклического массива
  • index - текущий индекс элемента

Пример:

#set(colors = ["red","blue","green"].toCycle)
<table>
#for(item: list)
    <tr style="color:${colors.next}">
        <td>${item.name}</td>
    </tr>
#end
</table>
Тип результата:Циклический итератор в зависимости от переданного типа
length(Map<?, ?> values)
length(Collection<T> values)
length(T[] values)

Возвращает длину переданной коллекции, массива.

Тип результата:int
sort(List<T> values)
sort(Set<T> values)
sort(Collection<T> values)
sort(T[] values)

Создает новую копию переданной коллекции и сортирует элементы в этой коллекции

Тип результата:Тип переданной коллекции values
recursive(Map<K, V> values)
recursive(Collection<T> values)

TODO

httl.spi.methods .EscapeMethod

escapeString(String value)
unescapeString(String value)

Escape/unescape , `, `t, n, r, b, f символов в java строке.

escapeXml(String value)

Escape XML в строке

unescapeXml(String value)

Unescape XML в строке

escapeUrl(String value)

Encode части URL в строке.

unescapeUrl(String value)

Decode части URL в строке.

escapeBase64(String value)

Encode строки в Base64

unescapeBase64(String value)

Decode строки из Base64

httl.spi.methods .StringMethod

clip(String value, int max)

Возвращает максимум max символов value заменяя остаток на ....

Пример:

${"Привет мир".clip(6)}

Выведет: Привет...

Тип результата:java.lang.String
repeat(String value, int count)

Повторяет вывод value count раз

Тип результата:java.lang.String
split(String value, char separator)

Переданное значение value разделяется на подстроки с разделителем separator и возвращает подстроки в виде массива строк.

Тип результата:String[]
md5(String value)

Преобразует переданное значение в MD5 хеш.

Тип результата:java.lang.String
sha(String value)

Преобразует переданное значение в SHA хеш.

Тип результата:java.lang.String
digest(String value, String digest)

Преобразует переданное значение в хеш с алгоритмом digest.

Пример:

${"abc".sha} эквивалентно ${"abc".digest("SHA")}
Тип результата:java.lang.String
toCamelName(String name)

TODO

httl.spi.methods .TypeMethod

format([int,byte,short,long,float,double,Number] value, String format)

Преобразует число в строку в соответствии с заданным форматом. См. java.text.DecimalFormat

Тип результата:java.lang.String
toDate(String value[, String format])

Преобразует строку в объект класса java.util.Date.

Пример:

${"2016-05-27".toDate}
Аргументы:
  • format (String) – Формат переданной строки. HTTL конфигурация: date.format=yyyy-MM-dd HH:mm:ss
Тип результата:

java.util.Date

toList(Object[] values)

Преобразует массив значений в список java.util.List.

toList(Collection<T> values)

Преобразует массив значений в список java.util.List<T>.

toArray(Collection<T> values)

Преобразует коллекцию в массив значений T[].

toBoolean(Object obj)

Преобразует аргумент в java.lang.Boolean.

Пример:

${"true".toBoolean}

Примечание

Аналогично toByte, toChar, toShort, toInt, toLong, toFloat, toDouble, toClass.

httl.spi.methods .SystemMethod

now()

Пример:

${now()}
Результат:Текущая дата :rtype: java.util.Date
random()
Результат:Нормально распределенное псевдослучайное число в промежутке: [-2^31, 2^31-1]
uuid()
Тип результата:java.util.UUID