BaoYaEr

Struts结合Velocity开发web应用

在开始我们的例子前需要说明一下,这篇文章并不打算讲解如何使用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 六月天 </ title >
</ head >
< body >

${test.getTest()} //注意这里使用了velocity代码,从test对象中取数据。

</ body >
</ html >

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" />
</ form-beans >
< action
name ="TestForm"
input
="/error.jsp"
scope
="request"
path
="/test"
validate
="false"
type
="org.junesky.action.TestAction"   >

< forward 
name ="success"
path
="/test.vm"   />
</ action >

检查没有错误后,运行,就会在页面上显示出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中即能达到相同的效果。



发表于 2007-05-30 09:54 大田斗 阅读(1105) 评论(0)  编辑  收藏 所属分类: Strtus
 
新用户注册  刷新评论列表  

只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问   管理
相关文章:
  • struts中dispathAction
  • Java实现随机验证码功能实例
  • struts的ActionMessage以及html:errors不用资源文件
  • 分页pager-taglib使用指南
  • ServletContextListener || HttpSessionListener 的用法
  • Struts标签库
  • Struts结合Velocity开发web应用
  • 使用struts-menu制作树型菜单实例
  • Struts filter使用学习笔记
  • struts 的log4j配置
 
 
<2025年6月>
日一二三四五六
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

 导航

  • BlogJava
  • 首页
  • 发新随笔
  • 发新文章
  • 联系
  • 聚合
  • 管理

 统计

  • 随笔: 32
  • 文章: 427
  • 评论: 144
  • 引用: 0

常用链接

  • 我的随笔
  • 我的评论
  • 我的参与
  • 最新评论

留言簿(5)

  • 给我留言
  • 查看公开留言
  • 查看私人留言

随笔档案

  • 2008年12月 (1)
  • 2008年4月 (2)
  • 2008年2月 (1)
  • 2008年1月 (1)
  • 2007年12月 (3)
  • 2007年11月 (1)
  • 2007年10月 (3)
  • 2007年7月 (2)
  • 2007年6月 (1)
  • 2007年4月 (2)
  • 2007年3月 (3)
  • 2007年2月 (5)
  • 2007年1月 (3)
  • 2006年12月 (4)

文章分类

  • axis(6) (rss)
  • eclipse(7) (rss)
  • Hibernate(30) (rss)
  • html/js/css(107) (rss)
  • java(106) (rss)
  • linux(7) (rss)
  • Lucene(7) (rss)
  • spring(36) (rss)
  • Spring CLOUd(1) (rss)
  • Strtus(30) (rss)
  • 其它(48) (rss)
  • 开源opensource(48) (rss)
  • 数据库DateBase(30) (rss)
  • 设计模式(12) (rss)

文章档案

  • 2018年8月 (1)
  • 2012年5月 (1)
  • 2012年4月 (2)
  • 2011年7月 (6)
  • 2010年3月 (1)
  • 2010年2月 (1)
  • 2010年1月 (3)
  • 2009年12月 (1)
  • 2009年10月 (1)
  • 2009年8月 (3)
  • 2009年3月 (1)
  • 2009年2月 (1)
  • 2008年12月 (3)
  • 2008年11月 (10)
  • 2008年10月 (3)
  • 2008年9月 (2)
  • 2008年8月 (2)
  • 2008年7月 (4)
  • 2008年6月 (13)
  • 2008年5月 (15)
  • 2008年4月 (9)
  • 2008年3月 (10)
  • 2008年1月 (18)
  • 2007年12月 (33)
  • 2007年11月 (6)
  • 2007年10月 (18)
  • 2007年9月 (10)
  • 2007年8月 (18)
  • 2007年7月 (15)
  • 2007年6月 (25)
  • 2007年5月 (19)
  • 2007年4月 (26)
  • 2007年3月 (38)
  • 2007年2月 (33)
  • 2007年1月 (27)
  • 2006年12月 (27)
  • 2006年11月 (12)

java

  • Ajax特效网站
  • cndiy nio
  • GRO
  • Hani Suleiman's blog
  • Java之路
  • java论坛
  • J道
  • mule
  • mule 入门
  • oksonic(动画教程)
  • 一路由你
  • 中国eclipse
  • 八进制
  • 在线源码
  • 多线程实战
  • 天火
  • 小米的blogjava
  • 幻境伯克----jface/swt
  • 很全的博克-强
  • 每日一得
  • 满江红
  • 邢红瑞
  • 飞翔
  • 鸟诗选(js)
  • 鸟食轩 (dhtml)

工具

  • apache中文手册
  • extjs学习
  • iconFindre
  • java 安全
  • javaresearch
  • java技巧网
  • js之王
  • matrix(study)
  • prototype api
  • spring中文
  • 北京IT企业速查
  • 在线流程图工具
  • 雅虎翻译

朋友

  • Happyshow
  • hibernate异常
  • skywalker
  • sunshow
  • xf
  • 亚光
  • 同云博客
  • 小弟鹏
  • 张玉磊
  • 昕
  • 李阳
  • 黄鸣

搜索

  •  

积分与排名

  • 积分 - 1102644
  • 排名 - 28

最新评论

  • 1. re: hibernate.cfg.xml配置
  • 好全啊 .. 棒棒哒 ~ !
  • --junqinag.yang
  • 2. re: Quartz任务调度快速入门
  • 我现在来看还是觉得不错
  • --小任
  • 3. re: js中this的总结
  • 评论内容较长,点击标题查看
  • --pam
  • 4. re: Quartz任务调度快速入门
  • 楼主辛苦
  • --yd
  • 5. re: Quartz任务调度快速入门
  • 顶了,内容写的很好
  • --sen

阅读排行榜

  • 1. 网页不缓存(3559)
  • 2. Form嵌套引起的问题 (2860)
  • 3. 解决IE下CSS背景图片闪烁的Bug(2454)
  • 4. Spring AOP的动态载入原理(2411)
  • 5. 如何制作漂亮的Excel表格(2052)

评论排行榜

  • 1. 北京户口--吃官司(5)
  • 2. 开始→运行→输入的命令集锦(3)
  • 3. 让网页上的所有图片动起来(2)
  • 4. Dom4j 编码问题彻底解决 (1)
  • 5. 心情不爽(1)

Powered by: 博客园
模板提供:沪江博客
Copyright ©2025 大田斗