Common Template Engine English | 中文 | Translate  
Downloads News Forums About Us
Documents
Overview
Template Guide
Expression Guide
Config Guide
Integration Guide
Expansion Guide
API Guide
FAQ
Architecture Specification
Resources
Downloads
License
Changes Log
Dependency Library
Debug Window
UML
Java Doc
Coverage Report
Community
Developer Team
News
Forums
Wiki
Mail List
Bugs List
Report Bugs Here !
 
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 ??5??>>
(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