Java: динамическое применение скрипта Velocity - PullRequest
0 голосов
/ 26 декабря 2011

Я создаю небольшой портлет с Struts MVC, который ищет / выводит список книг из веб-службы.

В моих самых первых тестах я без проблем интегрировал Velocity Tools в свой проект Struts.

Последний шаг - позволить пользователю выбрать, хочет ли он использовать скорость или нет.Если да, сценарий скорости будет поступать из веб-службы в виде строки.Я поместил тест на странице JSP, чтобы я мог применить следующий алгоритм:

List<Book> books = myWebservice.getAllBooks();
if (user.preference.vm = enabled ){
    String velocityScript = myWebservice.getARandomVelocityScript()
    renderTheBooks(velocityScript,books);
}
else{
    use JSP and/or struts tags to generate the content
}

Проблема в строке renderTheBooks(velocityScript,books): как я могу ее кодировать?

Спасибо, с уважением.

(Я знаю, что архитектура может показаться немного странной, но, пожалуйста, давайте скорее обсудим метод renderTheBooks. Я буду признателен, что вы понимаете этот момент.)

Ответы [ 2 ]

1 голос
/ 26 декабря 2011

Класс скорости предлагает вам статический удобный метод:

public static boolean evaluate(Context context,
                           Writer writer,
                           String logTag,
                           Reader reader)

Предполагается, что считыватель содержит ваш шаблон скорости, и скорость была настроена правильно Вы можете оценить это, используя этот метод

0 голосов
/ 26 декабря 2011
#foreach( $book in $books )
    $book
#end

Таким образом, вы можете отобразить список книг по скорости.

...