首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

struts2 与 velocity 调整 探究

2012-07-15 
struts2 与 velocity 整合 探究我这边引出几个问题。 问题1,struts2 是怎么让 velocity 按照指定的 Resourc

struts2 与 velocity 整合 探究

我这边引出几个问题。

问题1,struts2 是怎么让 velocity 按照指定的 ResourceLoader 加载 vm 模板的?

?

首先,struts 默认的查找vm模板的路径有两种:

1,以 webapp 为相对路径下面去找

2,从 classpath 下面去找

那么看下面的代码 org.apache.struts2.views.velocity.VelocityManager:

那么这些Component 怎么和velocity ,freemarke 或者其他模板结合的呢? 我这里介绍和velocity结合的方式:

?

先看下图:


struts2 与 velocity 调整 探究

?

可以看到在velocity 这个包里面对上面的 component 都有对应的 类支持。

这些类都继承自org.apache.velocity.runtime.directive.Directive?

这个类是用来实现类似velocity 中的 #set 这样的语法的(前面带个#号的那种)

注意到还有个基类:

    <?xml?version="1.0"?>??<toolbox>??????<tool>??????????<key>link</key>??????????<scope>request</scope>??????????<class>??????????????org.apache.velocity.tools.struts.StrutsLinkTool???????</class>??????</tool>??????<tool>??????????<key>msg</key>??????????<scope>request</scope>??????????<class>??????????????org.apache.velocity.tools.struts.MessageTool???????</class>??????</tool>??????<tool>??????????<key>errors</key>??????????<scope>request</scope>??????????<class>??????????????org.apache.velocity.tools.struts.ErrorsTool???????</class>??????</tool>??????<tool>??????????<key>form</key>??????????<scope>request</scope>??????????<class>??????????????org.apache.velocity.tools.struts.FormTool???????</class>??????</tool>??????<tool>??????????<key>tiles</key>??????????<scope>request</scope>??????????<class>??????????????org.apache.velocity.tools.struts.TilesTool???????</class>??????</tool>??????<tool>??????????<key>validator</key>??????????<scope>request</scope>??????????<class>??????????????org.apache.velocity.tools.struts.ValidatorTool???????</class>??????</tool>??</toolbox>??

?

问题5,struts 与 velocity 整合以后,有哪些内置的变量可以直接用?

req - the current HttpServletRequestres - the current HttpServletResponsestack - the current OgnlValueStackognl - an instance of OgnlToolui - a (now deprecated) instance of a ui tag renderer

热点排行