论坛登陆 用户名:  密 码:
设为首页  加入收藏
08年北京名校秋季招生
名牌院校免试入学宽进严出,突破考分限制,名校与你零距离,以下院校按报名先后顺序录取,24小时网上报名覆盖全国
  您现在的位置: 中国教育招生在线 >> IT >> JAVA认证 >> IT正文
使用Struts和Velocity开发web应用
 作者:佚名     2007-3-14 17:34:25        来源:不详  浏览次数:

 

 

 

 

 

 

 

 

如果你对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中即能达到相同的效果。


责任编辑:lss
  相关新闻
WebWork拦截器(Interceptor)使用方法
使用AppFuse框架进行开发的总结
Struts开发指南之Taglib的初步了解
快速上手Spring--4.安装和使用IDE
TestKing 070-299 V14
Oracle诊断工具-RDA使用概述
TestKing 070-296 V45.1
Struts 中 html:options 的使用
允许内部用户使用Outlook Web Access
在Struts框架下使用时间类型
TestKing 070-299 V14
TestKing 070-294 V28
TestKing 070-291 V49
TestKing 070-296 V45.1
TestKing 070-272 V13
TestKing 070-271 V14
Oracle诊断工具-RDA使用概述
了解 Struts 框架的全新后代--Shale
Struts开发指南之Taglib的初步了解
在Struts框架下使用时间类型
  评论
现在有100人对本文发表评论
查看所有评论
 
推  荐
 
100本成功必读热销书
热门招生
  北京文理研修学院   前进大学
  北京明园大学   北京建设大学
  北京邮电大学世纪学院   北方工商管理学院
  联想软件定向委培班   香港数码动画学院
  青年企业管理研修学院   北京华夏管理学院
热门培训
网络化办公专家培训认证 电子科技大学软件学院
软件测试工程师培训认证 北大青鸟十大授权培训
IT硬件工程师培训认证班 北京环球雅思荷兰预科
JAVA开发工程师培训 潜能时代IT服务管理培训
网络信息化工程师培训 清华大学继续教育学院
论坛精选
 
有些细节是男人也该注意的风度!最容易读错的字
某强人手机里保存的30条短信 中国十大高薪职业
最感人的十大韩剧经典台词 嫁给工程师的N个理由
爆强!只有一句话的鬼故事 转贴教你如何做妖精
 女人一定要記住的話 女人最好别嫁给最爱的男人
城市联盟
 大连 上海 天津 广州 西安 深圳  天津  青岛  大连  福州  沈阳  青海  连云港  南京  吉林  厦门  威海  辽宁  呼和浩特
Copyright © 2006   www.edu999.com   All rights reserved. 中国教育招生在线  版权所有
北京市通信管理局[2004]字第552号函    京ICP证040442号