http://www.edu999.com/IT/JAVA/200703/29412.shtml
如果你对struts和velocity都不陌生,那么就请往下看吧。
我想大家对Struts都应该不会陌生,过去的几年里,Struts占去了MVC模式开发Web应用的大半江山,关于Struts的话题网络上有太多太多了。Velocity是近一两年才火起来的,它是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。有兴趣的朋友可以参照http://www.junesky.org/blog /article.asp?id=14,也可以在官网http://jakarta.apache.org/velocity/index.html 上了解更多Velocity的最新信息。
既然Struts与Velocity都是如此出色,并且它们关注的方面也不相同,何不将其优点集中起来进行开发呢?关于Struts和Velocity的配置方法请参照http://www-128.ibm.com /developerworks/cn/java/j-sr1.html 这上面已经说的非常详细了,这里我们就不在说明了。请注意,以下步骤都是建立在环境都已配置成功的基础之上的。所以,在进行以下步骤之前,请确保你的环境已经配置成功。
根据上面的文章配置好环境后,就可以进行开发了。不过这里需要提醒各位一点,在配置 toolbox.xml的时候,记得要先在这里http://jakarta.apache.org/velocity/index.html 下载velocityTools,并将其拷贝至lib目录下后,才可以启动web容器,否则报错。这是因为在toolbox.xml配置了 velocitytools中的类库。
在开始我们的例子前需要说明一下,这篇文章并不打算讲解如何使用struts和velocity,而是将目标锁定在struts和velocity的协同工作上面。
一切准备就绪后,就开始我们的第一个例子吧。
1、建立一个test.vm文件,和jsp放在同一目录中。
程序代码
<%@ page pageEncoding="utf-8"%>
<%
request.setCharacterEncoding("utf-8");
</%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>struts velocity 六月天
</head>
<body>
${test.getTest()} //注意这里使用了velocity代码,从test对象中取数据。
2、新建Form Bean,使它拥有一个属性test。
程序代码
public class TestForm extends ActionForm {
private String test;
public String getTest() {
return test;
}
public void setTest(String test) {
this.test = test;
}
}
3、新建一个TestAction。
程序代码
public class TestAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest req, HttpServletResponse res) {
TestForm cform = (TestForm)form;
cform.setTest("hello struts and velocity");
//注意这里,将form置入request中,它的key是test
//这个key也就是vm页面中的test对象的引用 ${test.getTest()}
req.setAttribute("test", cform);
return mapping.findForward("success");
}
}
4、配置struts-config.xml文件
程序代码
<form-beans>
<form-bean name="TestForm" type="org.junesky.form.TestForm"/>
<action
name="TestForm"
input="/error.jsp"
scope="request"
path="/test"
validate="false"
type="org.junesky.action.TestAction" >
<forward
name="success"
path="/test.vm" />
检查没有错误后,运行,就会在页面上显示出hello struts and velocity。
关于struts和velocity的配置是很容易理解的,最令初学者头痛的是,velocity是如何取到数据的?我们在单独使用velocity进行开发时,需要初始化,并为其设置想要返回的页面。如下:
程序代码
VelocityEngine ve = new VelocityEngine();
ve.init();
Template t = ve.getTemplate( "hellosite.vm" );
而当与struts一同进行开发时,这一步就可以省去了,并且我们不必在为context中赋值:
程序代码
VelocityContext context = new VelocityContext();
context.put("test", "hello struts and velocity ");
我们只需在Struts的Action层中将值置入request或session中即能达到相同的效果。
分享到:
相关推荐
Struts和Velocity是两种在Java Web开发中广泛使用的开源框架,它们在构建高效、可维护的Web应用程序中扮演着重要角色。本项目“使用了Struts结构和Velocity模板技术的BLOG”旨在演示如何结合这两种技术来创建一个...
### Velocity Web应用开发知识点详解 #### 一、Velocity概述及应用场景 Velocity 是一款基于 Java 的模板引擎,主要用于生成动态内容,特别是在 Web 开发领域。它能够帮助开发者快速地构建出可读性强、易于维护的 ...
而“工具”标签则表明 Velocity 是作为开发工具的一部分,帮助开发者构建和维护Web应用。 在给定的压缩包文件"zzzztttt"中,可能包含了Velocity的相关教程、示例代码、或者是用于演示如何在Web项目中集成Velocity的...
Struts2是一个强大的MVC(模型-视图-控制器)框架,用于构建高效、可扩展的Java Web应用程序。...在实际开发中,理解并熟练掌握Struts2的各种概念和实践,将有助于构建高效、可维护的Web应用程序。
Struts2和Velocity是Java Web开发中的两个重要框架,它们在构建动态Web应用程序时发挥着关键作用。Struts2是一个强大的MVC(Model-View-Controller)框架,而Velocity则是一个模板引擎,专注于视图层的呈现。在这个...
在这个“使用Struts2开发Java Web应用程序”的压缩包中,我们可以期待学习到如何利用Struts2来构建高效、可维护的Web项目。 首先,Struts2的核心是Action类,它是业务逻辑处理的中心。开发者需要创建Action类,并...
在开发Web应用的过程中,Felix和Struts2是两种重要的技术。Felix是Apache软件基金会提供的一个开源实现,它是基于OSGi(Open Service Gateway Initiative)规范的Java框架,主要用于管理和运行模块化的Java应用程序...
Struts2和Velocity是两种广泛应用于Java Web开发的技术。Struts2是一个强大的MVC(Model-View-Controller)框架,而Velocity则是一个快速、轻量级的模板引擎,主要用于生成动态网页内容。将两者集成可以有效地提高...
Struts2是一个流行的Java web应用程序框架,它提供了一种组织和控制MVC(模型-视图-控制器)架构的方式,而Velocity则是Apache软件基金会开发的一个模板引擎,用于生成动态内容。Struts2与Velocity结合使用,可以...
Struts2是一个强大的MVC(Model-View-Controller)框架,它在Java Web开发中广泛使用,用于构建可维护、可扩展的Web应用程序。而Velocity则是一个轻量级的模板引擎,它允许开发者将HTML与Java代码分离,使得视图层...
- **《Velocity Web应用开发指南中文版》**:聚焦于如何使用Velocity构建Web应用的具体方法和技术细节。 - **《VTL语法参考指南中文版》**:提供关于Velocity模板语言(VTL)的详尽语法说明和示例。 - **《DB4O中文...
此外,还可以了解如何调试和优化这种整合,提升Web应用的开发效率和用户体验。 总之,Struts2和Velocity的整合为Java Web开发提供了强大的视图渲染和业务逻辑处理能力。通过学习这个示例,开发者可以深入理解这两种...
Struts是一个用于构建MVC(Model-View-Controller)架构的Java库,它简化了Web应用程序的开发,特别是处理用户请求和业务逻辑的交互。在Struts 1.x版本中,视图通常由JSP页面来实现,但也可以使用Velocity模板来替代...
Struts2是一个流行的Java web应用程序框架,它...通过以上知识点,开发者可以有效地利用Struts2和Velocity进行web应用的开发,创建出既动态又高效的用户界面。理解并熟练掌握这些概念,有助于提升开发效率和应用质量。
Struts 2作为一款强大的MVC(Model-View-Controller)框架,是Java EE平台上的重要组成部分,它极大地简化了Web应用的开发流程,提高了开发效率。以下将详细介绍Struts 2框架的核心概念、主要功能以及在Web 2.0开发...
Velocity 是一个基于Java的模版引擎。它允许web 页面设计者引用JAVA代码预定义的方法。Web 设计者可以根据MVC模式和JAVA程序员并行工作...Velocity+Turbine 方案提供的模板服务将允许web 应用按真正的mvc模式进行开发。
将两者整合使用,可以充分利用Struts2的控制层优势和Velocity的视图渲染能力,提供高效且灵活的Web应用解决方案。 在"Struts2VsVelocity"这个项目例子中,我们可以深入学习如何将这两个框架结合在一起,以实现更...
开发者可以通过这种方式,充分利用Struts的控制层功能和Velocity的视图渲染能力,构建出高效且易于维护的Java Web应用。在实际项目中,结合书中的示例代码和博客链接,可以更深入地理解和掌握这种集成方式。