Има ли начин да получите ресурс в пролетно уеб приложение с помощта на прост ресурс? Опитвам се да не предавам никакъв контекст и трябва да получа файл от директорията WEB-INF/freemarker/email/.
Spring Web: Получаване на файл от уеб контекст с помощта на ресурс?
Отговори (2)
Не. Тъй като WEB-INF/freemaker/email
не е в classpath, трябва да подадете ServletContext
. Както споменахте Resource
, можете да използвате:
Resource resource = new ServletContextResource(servletContext, resourcePath);
Просто не предавайте ServletContext
на сервизния слой. Вместо това предайте Resource
.
Ако искате да получите шаблона от classpath, поставете го там. Това е, например, в:
WEB-INF/класове/freemaker/имейл
След това можете да използвате ClassPathResource
person
Bozho
schedule
10.06.2010
конкретно в този случай се опитвам да получа шаблон на freemarker - дори използвайки ClasspathResource и предавайки пълното име на файла на шаблона на Freemarker, получавам изключения. Просто търся най-лесния начин да получа ftl от classpath. Имате ли някаква идея или трябва да създам нов въпрос?
- person wuntee; 11.06.2010
Можете да внедрите интерфейс org.springframework.context.ResourceLoaderAware във вашия клас и да получите достъп до ResourceLoader. Че е доста лесен за използване.
public class SomeService implements ResourceLoaderAware {
private ResourceLoader resourceLoader;
public void doSomething() {
Resource skin = resourceLoader.getResource("myfile.txt");
}
@Override
public void setResourceLoader(ResourceLoader resourceLoader) {
this.resourceLoader = resourceLoader;
}
}
person
Pavel Molchanov
schedule
16.12.2010