settembre 22, 2017

Apache Velocity template engine quick start

Velocity è un progetto open source di Apache Software Foundation che definisce un template-engine per applicazioni web java-based. Velocity permette di referenziare, e quindi di utilizzare degli oggetti java, all’interno dei template che definiscono lo strato di presentation di un’applicazione web. Vediamo come integrare il framework messo a disposizione da Apache all’interno di un contesto Struts MVC. A tale scopo viene creato un progetto di esempio utilizzando l’IDE Eclipse.


CHECK OUT THE SOURCE CODE ON GITHUB

 

STEP 1.

Avviare Eclipse e creare un nuovo progetto web dinamico (File >New >Dynamic Web Project)

web-project-eclipse

STEP 2.

Scaricare e scompattare l’archivio Struts 1.3 : http://struts.apache.org/download.cgi

struts-unzipped

STEP 3.

Scompattare il file war struts-blank

struts-blank-unzipped

STEP4.

Copiare le librerie jar nel classpath del progetto

STEP 5.

Copiare i flle di configurazuione struts e validator nel progetto

STEP 6.

Scaricare e scompattare l’archivio velocity-tools : http://velocity.apache.org/download.cgi#Tools

STEP 7.

Copiare in WebContent/WEB-INF/lib le seguenti librerie:

– commons-collections-*.jar

– commons-lang-*.jar

– velocity-*.jar

– velocity-tools-*.jar

STEP 8.

Spostarsi sul progetto in Eclipse e cofigurare i seguenti file:

WebContent/WEB-INF/velocity.properties

 

WebContent/WEB-INF/template/layout.vm

 

WebContent/WEB-INF/template/header.vm

 

WebContent/WEB-INF/template/footer.vm

 

WebContent/WEB-INF/css/my.css

 

WebContent/WEB-INF/tools.xml

STEP 9.

Modificare il file WebContent/WEB-INF/web.xml con le servlet di velocity:

STEP 10.

Creare una pagina di test velocity, per esempio WebContent/velocityPage.vm:

STEP 11.

Modificare WebContent/struts-config.xml

Ecco come dovrebbe apparire il layout del progetto

velocity-project-layout

Avviare Tomcat e aprire sul browser l’url http://localhost:8080/sample-project/testVelocity.do

 velocity-test-screen

Related posts

Leave a Reply

Your email address will not be published.