簡體   English   中英

Velocity無法通過webApp查找資源

[英]Velocity can't find resource with webApp

我正在嘗試使用GlashFish服務器和Velocity創建一個webApp。

但是我收到以下錯誤:

    SEVERE: ResourceManager : unable to find resource 'temp.vm' in any resource loader.
SEVERE: org.apache.velocity.exception.ResourceNotFoundException: Unable to find resource 'temp.vm'

velocity.proprieties:

resource.loader=webapp
webapp.resource.loader.class=org.apache.velocity.tools.view.WebappResourceLoader
webapp.resource.loader.path=/WEB-INF/templates/

Servlet的:

 ve.setApplicationAttribute("javax.servlet.ServletContext", context);
            template = ve.getTemplate("temp.vm");

我正在使用NetBeans IDE,並且我的temp.vm文件位於/ WEB-INF / templates /中。 一定是我所缺少的東西,但我無法理解它到底是什么。

謝謝您的幫助!

另一個選擇是使用類路徑資源加載器,然后將.vm文件放入/WEB-INF/classes

將模板放在/WEB-INF/classes/template/temp.vm目錄中,並使用ve.getTemplate(“ template / temp.vm”);

確保將資源加載器配置為ClasspathResourceLoader。

<bean id="velocityEngine" class="org.springframework.ui.velocity.VelocityEngineFactoryBean">
    <property name="velocityProperties">
    <props>
        <prop key="resource.loader">class</prop>
        <prop key="class.resource.loader.class">org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader</prop>
    </props>
    </property>
</bean>  

我只是問了一個類似的問題:

如何將速度模板加載到EJB中用作郵件模板

我使用ClasspathResourceLoader並創建了一個包含模板的.jar。 將該.jar放到WEB-INF / lib文件夾中,它應該可以工作(至少我可以設法使事情以這種方式運行)。

希望能幫助到你 :)

問候,亞歷克斯

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM