0

クラスパスから読み取るのではなく、ファイルシステムからテンプレートファイルを読み取るようにVelocityを構成しようとしています。速度エンジンを次のように構成すると、クラスパスからテンプレートファイルを読み取ることができます。

<bean id="velocityEngine" class="org.springframework.ui.velocity.VelocityEngineFactoryBean" 
          p:resourceLoaderPath="classpath:/com/myapp/test" 
          p:preferFileSystemAccess="false"/>  

そして、templatefile.vmをcom.myapp.testパッケージに入れます。

テンプレートファイルをファイルシステムの任意の場所に配置してアクセスできるように、上記を変更するにはどうすればよいですか。これを試しましたが、うまくいきませんでした。

<bean id="velocityEngine" class="org.springframework.ui.velocity.VelocityEngineFactoryBean" 
          p:resourceLoaderPath="c:\home\users\me\app\templates" 
          p:preferFileSystemAccess="true"/> 

解決策を見つけることができるかどうかをグーグルで調べようとしましたが、ほとんどの例はSpringMVC構成用です。スタンドアロンのSpringアプリケーションを使用しています。

ありがとう

4

1 に答える 1

2

file:次のようにファイル名を指定してみてください。

<bean id="velocityEngine" class="org.springframework.ui.velocity.VelocityEngineFactoryBean" 
          p:resourceLoaderPath="file://c:\home\users\me\app\templates" 
          p:preferFileSystemAccess="true"/> 

これが私がそれがうまくいくと思う理由です。このドキュメントによると、設定PreferFileSystemAccessするtrueと。の使用が開始されますSpringResourceLoaderSpringResourceLoader非常に用途が広いので、ここに概要を示します。


また、これは関連している可能性があります。

于 2012-09-30T00:35:26.013 に答える