Struts2与smarty4j的集验方法

Struts2与smarty4j的集成方法
今天看了一下java版的smarty, 因项目中常用struts2,因此些了一个十分簡單的DEMO,  作為備忘寫下來。

一:官方網站:http://code.google.com/p/ordinary/

二:smarty參考資料:http://www.php100.com/manual/smarty/

三:DEMO目錄及源文件见附件:

四:所需jar包:asm-3.3.1.jar和smarty4j-1.0.0-jdk5.jar

五:文件導入位置:

         1. /WebContent/page/test.smt

         2. Class:struts.xml

<bean class="cia.view.smarty4j.Smarty4jManager" name="smarty4jManager" />

         Class: struts/struts_base.xml

          <result-types>

<result-type name="smarty" class="cia.view.smarty4j.SmartyResult"/>

      </result-types>

    3. Class: struts/test/transTest.xml

        <action name="smarty" class="cia.test.transtest.action.SmartyAction">

          <result name="success" type="smarty">/page/test.smt</result>

        </action>

    4. /src/cia/test/transtest/action/SmartyAction.java

        5. src/cia/view/smarty4j/ctx/SmartyContext.java

       6. /cia/view/smarty4j/ScopesHashModel.java

7. /src/cia/view/smarty4j/Smarty4jManager.java

8. /cia/view/smarty4j/SmartyResult.java
六:smarty4j包很小,標籤易於擴展,據網上資料性能非常出色;新增行函数需要继承org.lilystudio.smarty4j.statement.LineFunction;新增区块函数需要继承org.lilystudio.smarty4j.statement. BlockFunction;都是通过设置parameter这个属性来定义默认的参数格式;擴展好的函數代碼放在org.lilystudio.smarty4j.statement.function或org.lilystudio.smarty4j.statement. modifier包中即可,新增函數類以$開頭。