码迷,mamicode.com
首页 > 系统相关 > 详细

eclipse开发velocity实例(初学)

时间:2015-07-02 11:44:56      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:

开发环境

        Eclipse Java EE IDE for Web Developers.(Version: Helios Service Release 1)

        jdk1.6.0_07

        apache-tomcat-6.0.10

        首先需要为eclipse安装velocity编辑插件:

                在Eclipse的Help->Install New Software...

                点击“Add加 Veloeclipse,值:http://veloeclipse.googlecode.com/svn/trunk/update/

                备注:如果无法安装,在安装插件的界面中把 Group Items by Catagory 前打钩去掉

创建项目

        打开eclipse,File -> New -> Other... -> Web -> Dynamic Web Projec  之后按照提示一路next;

        注意1:修改代码文件输出路径,默认是build\classes;这个不符合tomcat的要求,需要改成WebContent\WEB-INF\classes 如下:

        技术分享

        注意2:勾选 Generate web.xml deployment descriptor

        技术分享

 

        添加velocity依赖包

                velocity相关的包有十多个,下载解压后复制全部,粘贴到项目WebContent -> WEB-INF ->lib文件夹中

                项目名右键菜单选择build path -> configure build path ->java build path ->libraries -> add jars 选择项目lib文件夹,选择全部jar最后点确认按钮

                备注:velocity所需的jar包下载地址 http://download.csdn.net/detail/smilevt/4802244

        添加velocity模板文件

                在WebContent下添加一个文件夹,我起名叫templates。在该文件下添加一个hello.vm文件,里面内容如下:
                <html>
                        <head><title>Sample velocity page</title></head>
                        <body bgcolor="#ffffff">
                                <center>
                                        <h2>Hello My First Velocity</h2>
                                        <table width="100" cellpadding="5" cellspacing="1" bordercolor="#333333">
                                                <tr><td bgcolor="#eeeeee" align="center">name list</td></tr>
                                                #foreach ($name in $theList)
                                                <tr><td bgcolor="#6666FF" align="center">$name</td></tr>
                                                #end
                                        </table>
                                </center>
                        </body>
                </html>

 

        添加java类文件

                在Java Resource -> src下新建一个包,包名com.velocitydemo.velocityhandler,名称随意,后面配置文件里要用到,前后需要一致

                在该包下添加一个类,类名HelloHandler,名称随意,道理同上

                类的代码如下:

                package com.velocitydemo.velocityhandler;
                import java.util.Properties;
                import java.util.Vector;
                import javax.servlet.ServletException;
                import javax.servlet.http.HttpServletRequest;
                import javax.servlet.http.HttpServletResponse;
                import org.apache.velocity.Template;
                import org.apache.velocity.app.Velocity;
                import org.apache.velocity.app.VelocityEngine;
                import org.apache.velocity.context.Context;
                import org.apache.velocity.tools.view.VelocityViewServlet;
                public class HelloHandler extends VelocityViewServlet {
                        private static final long serialVersionUID = 1L;
                        private VelocityEngine velo;
                        public void init() throws ServletException {
                                velo = new VelocityEngine();// velocity引擎对象
                                Properties prop = new Properties();// 设置vm模板的装载路径
                                String path = this.getServletContext().getRealPath("/");
                                prop.setProperty(Velocity.FILE_RESOURCE_LOADER_PATH, path + "templates/");
                                try {
                                        velo.init(prop);// 初始化设置,下面用到getTemplate("*.vm")输出时;一定要调用velo对象去做,即velo.getTemplate("*.vm")
                                } catch (Exception e1) {
                                        e1.printStackTrace();
                                }
                        }
                        protected Template handleRequest(HttpServletRequest request, HttpServletResponse response, Context ctx) {
                                String p1 = "Charles";
                                String p2 = "Michael";
                                Vector personList = new Vector();
                                personList.addElement(p1);
                                personList.addElement(p2);
                                ctx.put("theList", personList); // 将模板数据 list放置到上下文环境context中
                                Template template = velo.getTemplate("hello.vm");
                                return template;
                        }
                }               


        配置web.xml

                打开WEB-INF下的web.xml文件,内容如下:

                <?xml version="1.0" encoding="UTF-8"?>

                <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                                   xmlns="http://java.sun.com/xml/ns/javaee"
                                   xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
                                   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
                                   id="WebApp_ID" version="3.0">

                        <display-name>velocity-demo</display-name>

                        <servlet>
                                <servlet-name>velocity</servlet-name>
                                <servlet-class>org.apache.velocity.tools.view.VelocityViewServlet</servlet-class>
                        </servlet>
                        <servlet-mapping>
                                <servlet-name>velocity</servlet-name>
                                <url-pattern>*.vm</url-pattern>
                        </servlet-mapping>

                        <servlet>
                                <servlet-name>hello</servlet-name>
                                <servlet-class>com.velocitydemo.velocityhandler.HelloHandler</servlet-class>
                        </servlet>
                        <servlet-mapping>
                                <servlet-name>hello</servlet-name>
                                <url-pattern>/hello</url-pattern>
                        </servlet-mapping>

                        <welcome-file-list>
                                <welcome-file>/hello</welcome-file>
                        </welcome-file-list>

                </web-app>

 

        至此一个最简单的velocity项目创建完毕

                注意:WEB-INF下的classes文件夹并不显示在项目结构图中

                技术分享

        发布项目

                到这里可以把项目文件夹中的WebContent发布到Tomcat中进行测试了

                发布的方式参考地址(http://blog.csdn.net/smilevt/article/details/8212075

 

        启动tomcat访问一个最简单的velocity项目

                技术分享

eclipse开发velocity实例(初学)

标签:

原文地址:http://www.cnblogs.com/Vae98Scilence/p/4615524.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!