Veloctity默認采用文件加載的方式(FileResourceLoader)來加載模版文件,這就要求模版文件放在系統目錄下,比如system32下,或者給出絕對路徑,為了讓其從class目錄下開始查找模版文件,需要將其加載方式指定為按類的方式(ClasspathResourceLoader )進行加載,因此要改寫velocity.properties文件:classpath.resource.loader.class = org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader
在eclipse plugin中使用velocity的注意事項
有時候為了方便管理,我們會將所有jar包統一放在同一個plugin工程里面,這樣在使用velocity的時候,定義的模版文件也必須放在jar包所在工程,否則會出現找不到的資源的異常,這個主要跟類加載器有關,velocity的getTemplate()方法將使用模版加載器類(如ClasspathResourceLoader)的類加載器來取得模版文件,也就是ClasspathResourceLoader.getClassLoder().getResourceAsStream("template path"),因為加載器類和模版文件不在同一個工程里面,因此二者對應的是兩個不同的類加載器,找不到資源也就不難理解了。
安徽新華電腦學校專業職業規劃師為你提供更多幫助【在線咨詢】