简单Velocity实践(二)

这一实验中我们让 Velocity web 应用中和 Struts 结合起来,让 struts forward 转向 *.vm 文件 .
   我们必须先 down velocity-tools 工具,如下地址: [url]http://jakarta.apache.org/velocity/tools/[/url]
为和 struts 结合起来,我们要做这么 4 步的工作:
1、    VelocityStruts VelocityView 这二个工具必须加到项目中,也就是把你的 velocity-tools-1.1.jar velocity-1.4.jar 都放到项目的 Lib
2、    web.xml 中添加 VelocityViewServlet ,它是 vm 文件的引擎
 <servlet-name>velocity</servlet-name> <servlet-class>org.apache.velocity.tools.view.servlet.VelocityViewServlet
</servlet-class>
 
  <servlet-mapping>
    <servlet-name>velocity</servlet-name>
    <url-pattern>*.vm</url-pattern>
  </servlet-mapping>
也就是以上这么二部份。
3、    添加 Velocity.properties  ( 这一步不是必须的 )
4、    添加 toolbox.xml   ( 这一步不是必须的 )
如果加了后二步,则 web.xml 文件里要加上
<init-param>
      <param-name>org.apache.velocity.toolbox</param-name>
      <param-value>/WEB-INF/toolbox.xml</param-value>
    </init-param>
    <init-param>
      <param-name>org.apache.velocity.properties</param-name>
      <param-value>/WEB-INF/velocity.properties</param-value>
    </init-param>
    <load-on-startup>10</load-on-startup>
 
好,下面开始我们的实验,建一个最基本的 struts 项目,提交 title content ,这些不必多说了,注意 forward 指向 .vm 文件
Action 文件如下:
        InfoForm infoForm = (InfoForm)form ;    
        HttpSession session = request.getSession() ;
        session.setAttribute("title",infoForm.getTitle());
           session.setAttribute("content",infoForm.getContent());
              return(mapping.findForward("show"));
 
forward struts-config.xml 中说明如下:
<forward name="show" path="/show.vm"/>
 
Show.vm 文件全文如下:
$title
<br>
$content
<br>
Lets count : #foreach($i in [1..5])$i #end
 
除了显示 session 中的变量,又放了一个循环写数,可以看到简单的 foreach
运行起来,看到效果了吗?是不是有点像用标签,当然它的功能还比较多,比较强大,用二个小时足以上手了吧,详细用的时候,再查手册,一定不是什么难事 J
 

你可能感兴趣的:(职场,休闲,Velocity实践)