Я пробую следующее:
| Код | protected void doGet(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws javax.servlet.ServletException, IOException { String encoding="utf-8";
response.setContentType("text/html; charset=" + encoding);
try{ Properties p=new Properties(); // p.put("input.encoding",encoding); p.put("runtime.log","/tmp/velocity.log"); p.put("input.encoding", "UTF-8"); p.put("template.loader.1.template.path", "./"); p.put("template.loader.1.public.name", "File"); p.put("template.loader.1.description", "Velocity File Template Loader"); p.put("template.loader.1.class", "org.apache.velocity.runtime.loader.FileTemplateLoader"); p.put("template.loader.1.cache", "false"); p.put("template.loader.1.modificationCheckInterval", "2"); Velocity.init(p); VelocityContext vc=new VelocityContext();
vc.put("article_title", "Проба пера с Velocity"); vc.put("article_author", "вАлшеПниГ"); vc.put("article_dateCreated", "2005-11-02"); vc.put("article_text", "Это проба пера. Надеюсь, все получится и в дальнейшем будем применять этот шаблонный framefork от Apache");
Template t=Velocity.getTemplate("WEB-INF/MainApp.vt"); BufferedWriter bw=new BufferedWriter(response.getWriter()); t.merge(vc, bw); bw.flush(); bw.close(); } catch(Exception e){ PrintWriter out=response.getWriter(); out.println("<html>"); out.println("<head><title>Hello Servlet</title></head>"); out.println("<body>"); e.printStackTrace(out); out.println("</body></html>"); out.close(); }
}
|
В результате получаю на странице:
| Код | org.apache.velocity.exception.ResourceNotFoundException: Unable to find resource 'WEB-INF/MainApp.vt' at org.apache.velocity.runtime.resource.ResourceManagerImpl.loadResource(ResourceManagerImpl.java:458) at org.apache.velocity.runtime.resource.ResourceManagerImpl.getResource(ResourceManagerImpl.java:341) at org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:831) at org.apache.velocity.runtime.RuntimeInstance.getTemplate(RuntimeInstance.java:813) at org.apache.velocity.runtime.RuntimeSingleton.getTemplate(RuntimeSingleton.java:285) at org.apache.velocity.app.Velocity.getTemplate(Velocity.java:469) at com.uralcom.ims.web.servlet.MainApp.doGet(MainApp.java:54) at javax.servlet.http.HttpServlet.service(HttpServlet.java:697) at javax.servlet.http.HttpServlet.service(HttpServlet.java:810) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:159) at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112) at java.lang.Thread.run(Thread.java:595)
|
$ jar -t < ims.ear META-INF/MANIFEST.MF ims-web.war META-INF/application.xml
$ jar -t < ims-web.war ... WEB-INF/ WEB-INF/MainApp.vt ... Добавлено @ 11:31 Попытка вывести свойство "user.dir" выдало $JBOSS/bin Посему следует вопрос: как в jsp контейнере узнать рабочий каталог war приложения? |