2011-12-26 8 views
0

私はWebサービスから書籍を検索/リストするStruts MVCを使用して小さなポートレットを構築しています。Java:Velocityスクリプトを動的に適用する

私の最初のテストでは、StrutsプロジェクトにVelocity Toolsを問題なく統合しました。

最後のステップでは、速度を使用するかどうかをユーザーが選択できるようにします。もしそうであれば、ベロシティスクリプトはWebサービスからStringとして送られます。 私は次のアルゴリズムを適用することができるように私は、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方法を議論させて頂きます。)

答えて

1

速度クラスを使用すると、静的な簡易メソッドを提供しています:その読者を想定し

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

は、あなたの速度のテンプレートが含まれており、速度が設定されて正しく あなたがこの方法

0
 
#foreach($book in $books) 
    $book 
#end 

あなたがのリストをレンダリングすることができますこの方法速度の本。

+0

を使用して、それを評価することができ、私は明確ではなかったと思います私はそのスクリプトを持っています(WebサービスmyWebservice.getARandomVelocityScript()によって送信されます)。問題はVelocityスクリプトと 'books'リストをマップするために' renderTheBooks'にどのようなコードを記述するべきかです。ありがとうございました。 – Paulito

+0

私の答えを見てください... –

関連する問題