jeecms 和 freemarker

今天上午一直在弄jeecmsv5开源代码的部署问题,大家要是有兴趣可以找我要源码还有数据库文件。

jeecms是用spring mvc +  freemarker + hibernate 的一个项目,可以试着用它来进行二次开发

下午抽时间看了一下里面的freemarker框架,很是遗憾,看了半天也就只是初步了解freemarker中的宏定义和使用

首先看一下一个简单的宏定义例子

定义宏1:

<#macro greet person>    <font size="+2">Hello ${person}!</font>  </#macro>  

使用上面定义:

<@greet person="Fred"/> and <@greet person="Batman"/>  

输出:

  <font size="+2">Hello Fred!</font>   and   <font size="+2">Hello Batman!</font>     


定义宏2:

<#macro greet person color>    <font size="+2" color="${color}">Hello ${person}!</font>  </#macro>  

<@greet person="Fred" color="black"/>  

输出:

 <font size="+2" color="black">Hello Fred!</font>

 

如果使用了宏中未定义的参数或者使用时未将参数值传入,将会报错。


在项目中这些宏定义一般都写在 flt 模板 文件中(至少jeecms这个项目是的)如:table.flt



然后在项目中往往这些模板都是使用<#include > 把这些模板联合一起,或是说整合起来


然后在web.xml 中进行一些配置,

<bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
        <property name="freemarkerVariables">
            <map>

                <!--一些自定义的标签-->
                <entry key="uuid" value-ref="uuid"/>
                <entry key="cms_tflownode_list" value-ref="cms_tflownode_list"/>
            </map>
        </property>
        <!--
            <property name="preTemplateLoaders">
                <list>
                    <ref bean="tplMng"/>
                </list>
            </property>
            -->
        <property name="templateLoaderPath" value=""/>
        <property name="freemarkerSettings">
            <props>
                <prop key="tag_syntax">auto_detect</prop>
                <prop key="template_update_delay">5</prop>
                <prop key="defaultEncoding">UTF-8</prop>
                <prop key="url_escaping_charset">UTF-8</prop>
                <prop key="locale">zh_CN</prop>
                <prop key="boolean_format">true,false</prop>
                <prop key="datetime_format">yyyy-MM-dd HH:mm:ss</prop>
                <prop key="date_format">yyyy-MM-dd</prop>
                <prop key="time_format">HH:mm:ss</prop>
                <prop key="number_format">0.######</prop>
                <prop key="whitespace_stripping">true</prop>
                <!--空值处理<prop key="classic_compatible">true</prop>-->

                <!--取一个别名--->
                <prop key="auto_import">/WEB-INF/ftl/pony/index.ftl as p,/WEB-INF/ftl/spring.ftl as s</prop>
            </props>
        </property>
    </bean>

在页面上的使用


流程是这样的,至于在取改其中的样式和模板则需要你对项目更深一层的了解,希望对各位有点帮助吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值