#java #spring #tomcat
#java #spring #tomcat
Вопрос:
Я хочу загрузить файл виртуальной машины в URL mysite.com/test/
. Я поместил test.vm
in /webapps/ROOT/test/
. Но я получаю ошибку 404. Если я создаю index.html
, то это работает, но я хочу загрузить test.vm
.
В Tomcat web.xml Я создал путь.
<servlet-mapping>
<servlet-name>/application/myapp-web</servlet-name>
<url-pattern>/test/*</url-pattern>
</servlet-mapping>
И в my-app-servlet.xml
я также создал распознаватель.
<bean id="viewResolver-test"
class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">
<property name="cache" value="false" />
<property name="prefix" value="" />
<property name="suffix" value=".vm" />
</bean>
Ответ №1:
Я использую velocity внутри Spring следующим образом:
String template = ........;
Velocity.init();
VelocityContext velContext = new VelocityContext();
StringWriter w = new StringWriter();
Velocity.evaluate( velContext, w, "mystring", template);
String html = w.toString();
где шаблон строки — это строка, содержащая модель *.vm . Я обычно считываю строку из базы данных, но если вы хотите прочитать файл, вы можете поместить его в /src/main/resources и прочитать его следующим образом
InputStream is = getClass().getResourceAsStream("path-inside-resources-dir.vm");
//Logic to move a stream contect into a String valiable
Я надеюсь, что это может помочь