[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends:00085] Turbine で Velocity のエラー



疋田と申します。

現在、Turbine・Velocityを利用したWebアプリケーションの開発(改造)をして
おります。
#他人の作成したコードを改造しております。

環境は、
・tdk2.1
・jdk1.4.1_01
・Velocity-1.3
です。

現在、SecureScreen.javaの中から、下記のFugaFugaのインスタンスを作成し、
メソッドHogeHogeを呼び出すところでエラーが発生しています。

# すみません。まだTurbineの仕組みが完全に把握できてません。
# とにかく、SecureScreen.java(のサブクラスなんでしょうけど)
# が実行されているということは把握してます。

エラーの内容は、
DEBUG (jp.co.ntt.cocofolio.explorer.ExplorerManager:SVGStringWriter:84) 
- Exception: org.apache.velocity.exception.ResourceNotFoundException:Unable to find resource 
'c:\programfiles\eclipse\workspace\myapp\webapps\myapp\resource\template.vm'
というものです。
template.vm自体は、エラーメッセージにおけるパス上に配置しております。

なぜ、
>Velocity.init(TurbineServlet.getRealPath(resourcePath+ "/init.prp")) ;
がうまく通るのに、
>Velocity.mergeTemplate(TurbineServlet.getRealPath(resourcePath+"/template.vm"), "EUC-JP", vctx,sw);
が通らないのかが分かりません。

どうかヒントだけでもかまいませんので、お教えいただけないでしょうか。

よろしくお願いいたします。

========== TurbineResources.properties(抜粋)
my.resource=/resource

========== FugaFuga.java(抜粋)
import org.apache.velocity.app.* ;
import org.apache.velocity.* ;
import java.io.* ;
import org.apache.turbine.services.servlet.TurbineServlet;
import org.apache.turbine.services.resources.TurbineResources;

public class FugaFuga {
	public StringWriter HogeHoge() {		
		StringWriter sw = new StringWriter() ;
		String resourcePath=TurbineResources.getString("my.resource") ;
		try {
			VelocityContext vctx = new VelocityContext() ;
			Velocity.init(TurbineServlet.getRealPath(resourcePath+ "/init.prp")) ;
			Velocity.mergeTemplate(TurbineServlet.getRealPath(resourcePath +"/template.vm"), "EUC-JP", vctx,sw);
			return sw ;
		} catch ( Exception ex ) {
			return sw ;
		}
	}
}
---------------
Keiichi HIKITA
NTT Cyber Solutions Laboratories
Mail: hikita.keiichi@xxxxxxxxxxxxx
Tel : 0422-59-7785 Fax : 0422-59-3931