我想首先說明我對所有這些意味着Java,Eclipse,模板引擎都是新手。Eclipse中的Apache Velocity錯誤[Java,Eclipse Luna,Velocity 2.0,VelocityView,Tomcat 7]
在我試圖創建將運行按預期我使用了Eclipse露娜(EE),Tomcat的7,阿帕奇Velocity1.7,速度工具2.0 Velocity模板,VelocityToolsView 2.0
問題是,當我從Eclipse啓動Tomcat(如果可能,運行該項目),然後轉到「localhost:8080/VelocityTemplateHomework4/index.vm」,它只是拋出一整頁錯誤「HTTP狀態500 - 錯誤實例化servlet類org.apache .velocity.tools.view.servlet.VelocityViewServlet「
在Eclipse(EE)我已經basicaly遵循了這一教程:
http://thegeekhead.blogspot.ro/2009/06/how-to-configure-eclipse-tomact-55.html
無論如何,我會後我的代碼,但也請檢查鏈接(也許這裏面就有一個問題,因爲它有點過時)
SimpleServlet.java
package myPackage;
public class SimpleServlet {
private String message = "Hello Damn World!!!";
public String getMessage() {
return message;
}
public void setMessage(String m) {
message = m;
}
/** To test exception handling in templates. */
public boolean whine() {
throw new IllegalArgumentException();
}
}
的web.xml
<?xml version='1.0' encoding='utf-8'?>
<web-app>
<!-- Define Velocity template compiler -->
<servlet>
<servlet-name>velocity</servlet-name>
<servlet-class>org.apache.velocity.tools.view.servlet.VelocityViewServlet</servlet-class>
<init-param>
<param-name>org.apache.velocity.toolbox</param-name>
<param-value>/WEB-INF/toolbox.xml</param-value>
</init-param>
<init-param>
<param-name>org.apache.velocity.properties</param-name>
<param-value>/WEB-INF/velocity.properties</param-value>
</init-param>
</servlet>
<!-- Map *.vm files to Velocity -->
<servlet-mapping>
<servlet-name>velocity</servlet-name>
<url-pattern>*.vm</url-pattern>
</servlet-mapping>
</web-app>
toolbox.xml
<?xml version="1.0"?>
<toolbox>
<xhtml>true</xhtml>
<tool>
<key>serv</key>
<scope>request</scope>
<request-path>index.vm</request-path>
<class>SimpleServlet</class>
</tool>
<data type="number">
<key>version</key>
<value>1.1</value>
</data>
<data type="boolean">
<key>isSimple</key>
<value>true</value>
</data>
<data type="string">
<key>foo</key>
<value>this is foo.</value>
</data>
<data type="string">
<key>bar</key>
<value>this is bar from velocity.</value>
</data>
<tool>
<key>map</key>
<scope>session</scope>
<class>java.util.HashMap</class>
</tool>
<tool>
<key>date</key>
<scope>application</scope>
<class>org.apache.velocity.tools.generic.DateTool</class>
</tool>
</toolbox>
velocity.properties
webapp.resource.loader.path=/WEB-INF/templates/
...和簡單index.vm(這對於例如,如果你的教程網站上看到有一個incorect關閉HTML標籤)
<html>
<body>
<h2>My text is : $serv.getMessage() </h2>
</body>
</html>
左側的文件結構:
對不起,對於很長的文章,任何幫助將是apreciated!
您是否嘗試過在org.apache.velocity.tools.view.servlet.VelocityViewServlet中刪除web.xml中的尾部空格? – Jako 2014-10-27 18:55:02
@Jako我現在嘗試了,可惜它沒有解決問題:(但是謝謝你的回覆。我也會在這篇文章中編輯代碼。 – 2014-10-27 19:01:17