freemarker @p.table定义方式

一直不懂jeecms中<@p.table><@p.column/>等标签是在哪个地方配置的, 项目现在需要扩展@p.table标签的功能,在网上找了一天后终于找到了,并对freemarker有了大致的了解理。

1.由于项目是在jeecms中做的二次开发,第一步是去jeecms中下载源码查看配置。 

web.xml

 后台管理配置:


	JeeCmsAdmin
	org.springframework.web.servlet.DispatcherServlet
	
		contextConfigLocation
		
			/WEB-INF/config/jeecms-servlet-admin.xml
			/WEB-INF/config/plug/**/*-servlet-admin-action.xml
		
	
	1

2.进而查看jeecms-servlet-admin.xml

 


	
	
		
			
			
			
			
			
			
			
			
		
	
	
		
			0
			UTF-8
			UTF-8
			zh_CN
			true,false
			yyyy-MM-dd HH:mm:ss
			yyyy-MM-dd
			HH:mm:ss
			0.######
			true
			/ftl/jeecms/index.ftl as p,/ftl/spring.ftl as s
		
	

 3.打开/ftl/jeecms/index.ftl:

<#ftl strip_whitespace=true>

<#include "ui/index.ftl"/>

<#include "operate_right.ftl"/>

 很明显此文件嵌入了两个ftl文件。

4.继续查看ui/index.ftl

<#include "text.ftl"/>
<#include "select.ftl"/>
<#include "radio.ftl"/>
<#include "checkbox.ftl"/>
<#include "checkboxlist.ftl"/>
<#include "textarea.ftl"/>
<#include "hidden.ftl"/>
<#include "file.ftl"/>
<#include "tree.ftl"/>
<#include "table.ftl"/>
<#include "table-column.ftl"/>
<#include "button.ftl"/>
<#include "password.ftl"/>
<#include "editor.ftl"/>
<#include "form.ftl"/>
<#include "td.ftl"/>
<#include "tr.ftl"/>

<#include "self_define_widget.ftl"/>
<#include "self_define_register_widget.ftl"/>

 看到了table.ftl 模板文件.

6.打开table.ftl:

<#--                                                      
表格标签:用于显示列表数据。                              
	value:列表数据,可以是Pagination也可以是List。    
	class:table的class样式。默认"pn-ltable"。         
	sytle:table的style样式。默认""。                  
	width:表格的宽度。默认100%。                      
-->                                                        
<#macro table value listAction="v_list.do" class="pn-ltable" style="" theadClass="pn-lthead" tbodyClass="pn-ltbody" width="100%" cellspacing="1">     
                                    
 <#if value?is_sequence><#local pageList=value/><#else><#local pageList=value.list/>                            
<#list pageList as row>                                    
<#if row_index==0>                                          
<#assign i=-1/>                                            
<#nested row,i,true/>  
                                                     
<#assign i=row_index has_next=row_has_next/>               
<#if row_index==0><#else><#nested row,row_index,row_has_next/>                                          
<#if !row_has_next>                                        
                                              
<#else>                                                    

 找到了定义的table宏。

 

 

 

 

 

你可能感兴趣的:(freemarker,java,ui,web.xml)