美文网首页
新手入门Velocity--01

新手入门Velocity--01

作者: Tomy_Jx_Li | 来源:发表于2018-02-28 19:47 被阅读26次

        首选网上有很多教程,我这里用的是Velocity教程 - 简书。本身教程可以,但是有很多模糊不清楚的地方。我这里踩了很多坑。所以这里将我踩的坑扒出来,如果有人能用到最好。

        在进行velocity的web开发尝试中。web.xml的配置需要注意一点。教程中只是说了要配置velocity.properties的配置。没有说杂么去加载它。我这里采用的是在web.xml中进行配置的加载方式。

        测试项目结构如图:

        其中教程中需要修改的文件有:

        MyVelocityViewServlet:

packagecom.jiyx.test.servlet;

importorg.apache.velocity.Template;

importorg.apache.velocity.context.Context;

importorg.apache.velocity.tools.view.servlet.VelocityViewServlet;

importjavax.servlet.http.HttpServletRequest;

importjavax.servlet.http.HttpServletResponse;

/**

*@authorjiyx

*@create2018-02-28-16:14

*/

public classMyVelocityViewServletextendsVelocityViewServlet {

@Override

protectedTemplate handleRequest(HttpServletRequest request, HttpServletResponse response, Context ctx) {

ctx.put("name","jiyx");

request.setAttribute("age",28);

returngetTemplate("/vm/test.vm"); // 主要变换在这里

}

}

        velocity.properties

##设置模板文件加载器,webapp从应用根目录加载

resource.loader=webapp

#webapp.resource.loader.class = org.apache.velocity.tools.view.WebappResourceLoader

##因为我的项目结构可能和教程提供人的项目结构不同,这里直接用classPath加载器

webapp.resource.loader.class=org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader  ## 主要变化在这里

##模板路径,根目录下的vm文件夹

webapp.resource.loader.path=/vm

##设置编码

input.encoding=UTF-8

output.encoding=UTF-8

        web.xml

"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"

"http://java.sun.com/dtd/web-app_2_3.dtd";>

Archetype Created Web Application

MyVelocityServlet

com.jiyx.test.servlet.MyVelocityViewServlet

org.apache.velocity.properties

/velocity.properties

MyVelocityServlet

/servlet/myVelocityServlet

这几个文件修改完成之后,项目才能正常访问。

相关文章

网友评论

      本文标题:新手入门Velocity--01

      本文链接:https://www.haomeiwen.com/subject/qjbixftx.html