Скорость по сравнению с [закрытым] FreeMarker

Mmhh я знаю, что Вы уже отбросили URLEncoder, но несмотря на то, что говорят документы, я решил дать ему попытку.

Вы сказали:

, Например, учитывая вход:

http://google.com/resource?key=value

я ожидаю вывод:

http%3a%2f%2fgoogle.com%2fresource%3fkey%3dvalue

Так:

C:\oreyes\samples\java\URL>type URLEncodeSample.java
import java.net.*;

public class URLEncodeSample {
    public static void main( String [] args ) throws Throwable {
        System.out.println( URLEncoder.encode( args[0], "UTF-8" ));
    }
}

C:\oreyes\samples\java\URL>javac URLEncodeSample.java

C:\oreyes\samples\java\URL>java URLEncodeSample "http://google.com/resource?key=value"
http%3A%2F%2Fgoogle.com%2Fresource%3Fkey%3Dvalue

Как ожидалось.

, Какова была бы проблема с этим?

68
задан flybywire 22 September 2009 в 11:06
поделиться

5 ответов

Velocity больше не находится в активной разработке. Freemarker есть.

Freemarker, по моему опыту, намного более гибкий.

51
ответ дан 24 November 2019 в 14:13
поделиться

Используйте Freemarker, если можете:

  • Все еще в активной разработке, как сказал @skaffman
  • Хорошая документация, лучше, чем Velocity IMHO
  • Предоставляется как альтернативный язык шаблонов во многих веб-фреймворках
  • Меньше зависимостей, чем Velocity
  • Более полная, чем чистая Velocity без расширений.
  • Также см. Ссылку, предоставленную @leonm
20
ответ дан 24 November 2019 в 14:13
поделиться

Время от времени они пытаются отличаться друг от друга ( пример ).

I ' Я много работал с обоими, и, на мой взгляд, они очень похожи. В язык шаблонов можно встроить так много функций, а все остальное - пустяк.

7
ответ дан 24 November 2019 в 14:13
поделиться

Цели проектов различны.

Цель Velocity - максимально упростить шаблоны, помочь сохранить разделение между логикой и представлением, чтобы не скользить по скользкому склону при вклеивании кода в шаблоны. Иногда это правильно. Конечно, иногда возможность вставлять сложную логику прямо в шаблоны - это правильно.

Скорость не часто повышается, но это не значит, что она не находится в стадии активной разработки. Пользовательское сообщество большое, код быстрый и стабильный, синтаксис в основном исправлен. За последние несколько лет Freemarker претерпел изменения в синтаксисе шаблонов и в сторону api. Иногда приятно оставлять достаточно хорошо в покое. Опять же, зависит от того, что вы ищете.

Документация Freemarker гораздо более обширна - и это гораздо более сложная часть программного обеспечения.

Многие примеры использования Freemarker сводятся к желанию иметь сложный рабочий процесс шаблонизации и не желанию делать шаг компиляции. В последние годы, вместо того, чтобы бороться с этим с помощью Java, я просто использовал Python или Ruby.

58
ответ дан 24 November 2019 в 14:13
поделиться

Есть две опубликованные книги о Velocity:

и другие книги, в которых есть главы о нем. Так что, что касается FreeMarker, то у него больше или лучше документации :).

4
ответ дан 24 November 2019 в 14:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: