20

今日、Spring Web アプリケーション全体を Spring から Spring にアップグレード3.1.1しまし3.2た。

3.2私の既存のアプリのほとんどの部分は、Springの場合 を除いて壊れません。

org.springframework.ui.velocity.VelocityEngineUtils

クラスはspring-context-3.2.0.RELEASE.jarから完全に削除されたようです。

このURLのような移行ガイドを見つけました。

クラスは廃止されたばかりであると述べられてorg.springframework.ui.velocity.VelocityEngineUtilsいましたが、実際には完全に削除されました。

たぶん私は間違っているかもしれません.VelocityEngineUtilsクラスがまだどこかに存在するかどうか、またはそうでない場合は、使用できる代替クラスは何ですか.

編集:速度パッケージ全体が Spring から削除された3.2ようで、現在 org.springframework.ui.velocity.VelocityEngineFactoryBeanは存在しません。Spring は Velocity から遠ざかっていますか?

4

4 に答える 4

18

Spring での VelocityEngineUtils の非推奨に関して、Spring のドキュメントでは、代わりに何を使用するかについて明確ではありません。

それはただ言う:

非推奨。独自の API での Velocity 1.6 の対応する非推奨に従って、代わりに mergeTemplateIntoString(VelocityEngine, String, String, Map) を使用してください。

さらに紛らわしいことに、リンクはそれ自体を参照しています。

基本的には、Velocity 自体を使用すると言っているだけです。

ここにあなたがそれを行う方法の説明があります..

 // instead of a model map, you use a VelocityContext

 VelocityContext velocityContext = new VelocityContext();
 velocityContext.put("key1", value1);
 velocityContext.put("key2", value2);

 // the velocityEngine you wired into Spring has a mergeTemplate function
 // you can use to do the same thing as VelocityEngineUtils.mergeTemplate
 // with the exception that it uses a writer instead of returning a String      

 StringWriter stringWriter = new StringWriter();
 velocityEngine.mergeTemplate("templateName.vm", "UTF-8", velocityContext, stringWriter);

 // this is assuming you're sending HTML email using MimeMessageHelper

 message.setText(stringWriter.toString(), true);
于 2016-09-02T17:24:00.117 に答える
10

VelocityEngineUtils私は瓶の中にあったとは思わないspring-context(少なくとも、GitHub によると、Spring の最後の 3.1.x リリース以来)。

とにかく、あなたはそれを見つけることができますspring-context-support-3.2.0.RELEASE.jar

于 2013-01-14T06:58:54.743 に答える