Common Template Engine English | 中文 | Translate  
Downloads News Forums About Us
Documents
Overview
Template Guide
Expression Guide
Integration Guide
Config Guide
API Use Guide
Expansibility Guide
Architecture Guide
Dependency Lib
FAQ
Resources
Downloads
Changes Log
License
UML
Java Doc
Coverage Report
Community
Developer Team
Developer Team
Forums
Mail List
Bugs List
Report Bugs Here !
Support
CommonTemplate Integration Guide


1. Tools Dependency>>
(1) Servlet
web.xml:
<listener>
    <listener-class>org.commontemplate.tools.web.EngineInitializeListener</listener-class>
</listener>

<filter>
    <filter-name>encoding</filter-name>
    <filter-class>org.commontemplate.tools.web.EncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>encoding</filter-name>
    <url-pattern>*.action</url-pattern>
</filter-mapping>

<servlet>
    <servlet-name>commontemplate</servlet-name>
    <servlet-class>org.commontemplate.tools.web.servlet.TemplateServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>commontemplate</servlet-name>
    <url-pattern>*.ctl</url-pattern>
</servlet-mapping>

(2) Struts
...

CommonTemplate in MVC:
CommonTemplate In MVC

(3) WebWork
web.xml:
<listener>
    <listener-class>org.commontemplate.tools.web.EngineInitializeListener</listener-class>
</listener>

<filter>
    <filter-name>encoding</filter-name>
    <filter-class>org.commontemplate.tools.web.EncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>encoding</filter-name>
    <url-pattern>*.action</url-pattern>
</filter-mapping>

<servlet>
    <servlet-name>webwork</servlet-name>
    <servlet-class>com.opensymphony.webwork.dispatcher.ServletDispatcher</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>webwork</servlet-name>
    <url-pattern>*.action</url-pattern>
</servlet-mapping>

xwork.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xwork PUBLIC 
    "-//OpenSymphony Group//XWork 1.1.1//EN" 
    "http://www.opensymphony.com/xwork/xwork-1.1.1.dtd">

<xwork>
    <include file="webwork-default.xml" />
    <package name="test" extends="webwork-default">
        <result-types>
            <result-type default="true" name="commontemplate" class="org.commontemplate.tools.web.webwork.TemplateResult" />
        </result-types>
        <action name="index" class="com.xxx.IndexAction" method="index">
            <result name="success" type="commontemplate">/index.ctl</result>
        </action>
    </package>
</xwork>

(4) Struts2
web.xml:
<listener>
    <listener-class>org.commontemplate.tools.web.EngineInitializeListener</listener-class>
</listener>

<filter>
    <filter-name>encoding</filter-name>
    <filter-class>org.commontemplate.tools.web.EncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>encoding</filter-name>
    <url-pattern>*.action</url-pattern>
</filter-mapping>

<filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

struts.xml:
<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE struts PUBLIC 
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" 
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts> 
    <include file="struts-default.xml" /> 
    <package name="test" extends="struts-default"> 
        <result-types> 
            <result-type default="true" name="commontemplate" class="org.commontemplate.tools.web.struts2.TemplateResult" /> 
        </result-types> 
        <action name="index" class="com.xxx.IndexAction" method="index"> 
            <result name="success" type="commontemplate">/index.ctl</result> 
        </action> 
    </package> 
</struts> 

(5) Spring/SpringMVC
...

(6) JSP
commontemplate.tld:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE taglib PUBLIC
    "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
    "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">

<taglib>
    <tlib-version>1.0</tlib-version>
    <jsp-version>1.2</jsp-version>
    <short-name>ct</short-name>
    <uri>http://www.commontemplate.org/taglib/template</uri>
    <display-name>Common Template</display-name>
    <description>Common Template Library</description>

    <tag>
        <name>template</name>
        <tag-class>org.commontemplate.tools.web.jsp.TemplateTag</tag-class>
        <body-content>JSP</body-content>
        <description>Common Template In JSP</description>
    </tag>
</taglib>

test.jsp:
<%@taglib uri="http://www.commontemplate.org/taglib/template" prefix="ct" %>
<ct:template>
    JSP or/and CTL...
</ct:template>


2. Config ÒÀÀµ°ü>>
(1) CommonsLogging/Log4J
commontemplate-my.properties:
@extends=org/commontemplate/tools/web/commontemplate.properties
logger=org.commontemplate.standard.log.CommonsLogging()

commons-logging.properties:
logger=org.apache.commons.logging.impl.Log4JLogger

log4j.properties:
log4j.rootLogger=DEBUG,stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%-5p [%d] %C - %m\n
log4j.logger.CommonTemplate=DEBUG

(2) OSCache
commontemplate-my.properties:
@extends=org/commontemplate/tools/web/commontemplate.properties
templateCache=org.commontemplate.ext.cache.OSCache()

oscache.properties:
cache.algorithm=com.opensymphony.oscache.base.algorithm.LRUCache
cache.capacity=1000

(3) EHCache
commontemplate-my.properties:
@extends=org/commontemplate/tools/web/commontemplate.properties
templateCache=org.commontemplate.ext.cache.EHCache()

ehcache.xml:
<ehcache>
    <diskStore path="java.io.tmpdir" />
    <defaultCache 
        maxElementsInMemory="10000" 
        eternal="false" 
        timeToIdleSeconds="120" 
        timeToLiveSeconds="120" 
        overflowToDisk="true" 
    />

</ehcache>

(4) TagLib
commontemplate-my.properties:
directive{textarea}=org.commontemplate.standard.web.taglib.JspTagDirectiveAdapter()
directive{textarea}.tld=textarea.tld


Copyright © 2007-2008 CommonTemplate Team