`
chinahnzhou
  • 浏览: 353312 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

freemarker递归显示树形列表

    博客分类:
  • java
阅读更多
之前在网上参考了几个,都不对,想了下,ok,结果如下:
<#macro buildNode childs>
    <#if childs?? && childs?size gt 0>
        <#list childs as child>
        	<option value="${child.model.id}" label="<#list 1..depth as i>&nbsp;&nbsp;&nbsp;&nbsp;</#list>${(child.model.typeName)?if_exists}">
        		<#list 1..depth as i>&nbsp;&nbsp;&nbsp;&nbsp;</#list>${(child.model.typeName)?if_exists}
        	</option>
            <#assign depth = depth + 1 />
            <@buildNode childs=child.childs />
            <#assign depth = depth - 1 />
        </#list>
    </#if>
</#macro>


				<#assign depth = 1 />
				<select name="model.typeId">
				<#list typeList as typeDomain>
					<option value="${typeDomain.model.id}" label="${(typeDomain.model.typeName)?if_exists}">
						${(typeDomain.model.typeName)?if_exists}
					</option>
        			<@buildNode childs=typeDomain.childs />
				</#list>
				</select>
分享到:
评论

相关推荐

    s2sh+freemarker+jquery+jquery-treeview 无限级树形菜单.rar

    本项目“s2sh+freemarker+jquery+jquery-treeview 无限级树形菜单”就是这样一个解决方案,它整合了多种技术来实现这一功能。 首先,我们来看“s2sh”。这是Struts2、Spring和Hibernate三者的简称,它们分别是MVC...

    Freemarker如何生成树形导航菜单(递归)

    在本文中,我们将探讨如何使用Freemarker来生成树形导航菜单,这是一个递归过程。 首先,我们需要理解树形导航菜单的结构。一个树形菜单通常由多个层次的菜单项组成,每个菜单项可能有子菜单,形成一个层级关系。在...

    Struts2树形结构资料大全

    6. **视图展示**:使用JSP或FreeMarker等模板引擎来展示树形结构。可以使用递归或者迭代的方式来遍历并显示节点及其子节点。 7. **交互处理**:为了实现可交互的树形结构,可能需要使用JavaScript库(如jQuery、...

    struts2动态树形目录

    动态树形目录是Web应用程序中常见的一种交互方式,它允许用户以树状结构查看和操作数据,如文件系统、组织结构或层级关系的数据。在本项目中,"struts2动态树形目录"实现了这一功能,用户可以通过界面动态地创建、...

    struts+hibernate树形菜单

    5. **视图渲染**:使用JSP或Freemarker等模板技术,在页面上渲染树形菜单。可以使用jQuery UI的Treeview插件、Bootstrap的Nav Tree组件或者自定义JavaScript实现动态加载和展开收缩功能。 6. **交互处理**:当用户...

    struts2 hibernate 实现无限级联 树形分类

    在视图层,我们可能使用JSP或者FreeMarker等模板技术来展示树形结构。这些模板可以接受Action返回的数据,利用循环和条件语句来遍历和渲染分类节点。同时,为了实现无限级联的效果,我们需要使用递归算法,根据`...

    projectManageSystem树形结构只有架构S2SH

    1. **树形结构的实现**:查看项目是如何构建和展示项目树的,可能涉及到递归算法和前端JavaScript库,如jQuery或Vue.js。 2. **数据模型设计**:了解数据库表结构,以及实体类和表之间的映射关系。 3. **事务管理**...

    freemarker总结

    JAVA模版引擎Freemarker常用标签(一) 1. if指令 这是一个典型的分支控制指令,该指令的作用完全类似于Java语言中的if,if指令的语法格式如下: &lt;#if condition&gt;... &lt;#elseif condition&gt;... &lt;#elseif condition&gt;......

    struts标准 菜单制作 树制作

    树形结构的制作在Struts中通常涉及到递归渲染。在后台,我们需要创建树节点类,包含父节点引用、子节点列表等属性,构建树形数据结构。Action通过服务层获取到树数据后,可以传递到JSP。在视图层,可以使用自定义...

    动态生成菜单树

    在后台,我们需要执行SQL查询,从`menus`表中获取所有菜单数据,并根据`parent_id`组织成树形结构。可以使用递归方法或者DFS(深度优先搜索)/BFS(广度优先搜索)算法来构建树。 3. 数据传递: 将构建好的树形...

    struts2树的编写

    在Struts2中,树形结构的实现是常见的需求,例如用于展示组织架构、文件目录或者数据库层次关系等。本节将深入探讨如何在Struts2中编写和动态输出树形结构。 首先,我们需要理解树形结构的基本概念。树是一种非线性...

    jfinal_common_maven_jfinal_

    前端部分,可以使用 jQuery 的递归方法或者第三方库如 jQuery UI 的 Treeview 插件来渲染树形结构。例如,可以遍历 JSON 数据,利用 jQuery 的 append 方法动态创建 DOM 节点,形成层次感。如果你希望有更丰富的交互...

    部门树,使用ssi框架搭建的部门树功能

    通过iBatis查询数据后,可以使用递归算法生成树形结构,或者使用第三方库如JSTL、Freemarker来在前端渲染树形菜单。 5. **前端交互**:在客户端,部门树可能使用JavaScript库如jQuery,或者现代前端框架如Vue.js、...

    Struts2动态树的一些文章和案例

    - **树的构建**:利用这些数据模型,通过递归或循环方式构建树形结构。 - **视图渲染**:使用JSP、FreeMarker或其他模板技术,将树结构渲染成HTML,用户可以通过点击节点进行展开、折叠操作。 - **交互处理**:...

    金蝶全渠道二开帮助文档.docx

    - `&lt;listdatagrid&gt;`包含`&lt;filter&gt;`和`&lt;datagrid&gt;`,前者用于定义过滤器,后者用于显示数据网格,其中`&lt;tree&gt;`用于呈现树形结构的数据,而`&lt;fields&gt;`则定义显示的字段。 4. **开发流程** - 开发者需要编写XML文件...

    金蝶K3cloud bbc开发文档

    - `tree`:定义树形结构,用于导航或组织数据。 - `node`:树节点的具体配置。 - `fields`:定义数据字段,包括列名和数据类型。 ##### XML页面配置注意事项 - 在编写SQL查询语句时,需确保查询出主键并将其...

    javautil工具类大全

    权限递归通常涉及到树形结构的遍历,可以使用递归算法或迭代方式实现,如深度优先搜索(DFS)和广度优先搜索(BFS)。 15. **加解密**: Java的`javax.crypto`包提供了加密和解密功能,如AES、RSA等算法。 16. *...

    JSP 动态数据菜单.rar

    设计动态菜单时,可能需要通过SQL查询获取树形结构的菜单数据,例如使用递归查询或自连接来获取层级关系。 6. **Java集合框架** 查询结果通常会被封装到Java集合对象(如ArrayList、LinkedList、HashMap等)中,...

    java面试知识

    - **DOM (Document Object Model)**:将XML文档转化为树形结构。 - **SAX (Simple API for XML)**:基于事件驱动模型。 - **StAX (Streaming API for XML)**:支持流式处理大型XML文档。 ##### 项目的生命周期 - *...

    JAVA上百实例源码以及开源项目源代码

    EJB中JNDI的使用源码例子 1个目标文件,JNDI的使用例子,有源代码,可以下载参考,JNDI的使用,初始化Context,它是连接JNDI树的起始点,查找你要的对象,打印找到的对象,关闭Context…… ftp文件传输 2个目标文件...

Global site tag (gtag.js) - Google Analytics