之前在网上参考了几个,都不对,想了下,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> </#list>${(child.model.typeName)?if_exists}">
<#list 1..depth as i> </#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 无限级树形菜单”就是这样一个解决方案,它整合了多种技术来实现这一功能。 首先,我们来看“s2sh”。这是Struts2、Spring和Hibernate三者的简称,它们分别是MVC...
在本文中,我们将探讨如何使用Freemarker来生成树形导航菜单,这是一个递归过程。 首先,我们需要理解树形导航菜单的结构。一个树形菜单通常由多个层次的菜单项组成,每个菜单项可能有子菜单,形成一个层级关系。在...
6. **视图展示**:使用JSP或FreeMarker等模板引擎来展示树形结构。可以使用递归或者迭代的方式来遍历并显示节点及其子节点。 7. **交互处理**:为了实现可交互的树形结构,可能需要使用JavaScript库(如jQuery、...
动态树形目录是Web应用程序中常见的一种交互方式,它允许用户以树状结构查看和操作数据,如文件系统、组织结构或层级关系的数据。在本项目中,"struts2动态树形目录"实现了这一功能,用户可以通过界面动态地创建、...
5. **视图渲染**:使用JSP或Freemarker等模板技术,在页面上渲染树形菜单。可以使用jQuery UI的Treeview插件、Bootstrap的Nav Tree组件或者自定义JavaScript实现动态加载和展开收缩功能。 6. **交互处理**:当用户...
在视图层,我们可能使用JSP或者FreeMarker等模板技术来展示树形结构。这些模板可以接受Action返回的数据,利用循环和条件语句来遍历和渲染分类节点。同时,为了实现无限级联的效果,我们需要使用递归算法,根据`...
1. **树形结构的实现**:查看项目是如何构建和展示项目树的,可能涉及到递归算法和前端JavaScript库,如jQuery或Vue.js。 2. **数据模型设计**:了解数据库表结构,以及实体类和表之间的映射关系。 3. **事务管理**...
JAVA模版引擎Freemarker常用标签(一) 1. if指令 这是一个典型的分支控制指令,该指令的作用完全类似于Java语言中的if,if指令的语法格式如下: <#if condition>... <#elseif condition>... <#elseif condition>......
树形结构的制作在Struts中通常涉及到递归渲染。在后台,我们需要创建树节点类,包含父节点引用、子节点列表等属性,构建树形数据结构。Action通过服务层获取到树数据后,可以传递到JSP。在视图层,可以使用自定义...
在后台,我们需要执行SQL查询,从`menus`表中获取所有菜单数据,并根据`parent_id`组织成树形结构。可以使用递归方法或者DFS(深度优先搜索)/BFS(广度优先搜索)算法来构建树。 3. 数据传递: 将构建好的树形...
在Struts2中,树形结构的实现是常见的需求,例如用于展示组织架构、文件目录或者数据库层次关系等。本节将深入探讨如何在Struts2中编写和动态输出树形结构。 首先,我们需要理解树形结构的基本概念。树是一种非线性...
前端部分,可以使用 jQuery 的递归方法或者第三方库如 jQuery UI 的 Treeview 插件来渲染树形结构。例如,可以遍历 JSON 数据,利用 jQuery 的 append 方法动态创建 DOM 节点,形成层次感。如果你希望有更丰富的交互...
通过iBatis查询数据后,可以使用递归算法生成树形结构,或者使用第三方库如JSTL、Freemarker来在前端渲染树形菜单。 5. **前端交互**:在客户端,部门树可能使用JavaScript库如jQuery,或者现代前端框架如Vue.js、...
- **树的构建**:利用这些数据模型,通过递归或循环方式构建树形结构。 - **视图渲染**:使用JSP、FreeMarker或其他模板技术,将树结构渲染成HTML,用户可以通过点击节点进行展开、折叠操作。 - **交互处理**:...
- `<listdatagrid>`包含`<filter>`和`<datagrid>`,前者用于定义过滤器,后者用于显示数据网格,其中`<tree>`用于呈现树形结构的数据,而`<fields>`则定义显示的字段。 4. **开发流程** - 开发者需要编写XML文件...
- `tree`:定义树形结构,用于导航或组织数据。 - `node`:树节点的具体配置。 - `fields`:定义数据字段,包括列名和数据类型。 ##### XML页面配置注意事项 - 在编写SQL查询语句时,需确保查询出主键并将其...
权限递归通常涉及到树形结构的遍历,可以使用递归算法或迭代方式实现,如深度优先搜索(DFS)和广度优先搜索(BFS)。 15. **加解密**: Java的`javax.crypto`包提供了加密和解密功能,如AES、RSA等算法。 16. *...
设计动态菜单时,可能需要通过SQL查询获取树形结构的菜单数据,例如使用递归查询或自连接来获取层级关系。 6. **Java集合框架** 查询结果通常会被封装到Java集合对象(如ArrayList、LinkedList、HashMap等)中,...
- **DOM (Document Object Model)**:将XML文档转化为树形结构。 - **SAX (Simple API for XML)**:基于事件驱动模型。 - **StAX (Streaming API for XML)**:支持流式处理大型XML文档。 ##### 项目的生命周期 - *...
EJB中JNDI的使用源码例子 1个目标文件,JNDI的使用例子,有源代码,可以下载参考,JNDI的使用,初始化Context,它是连接JNDI树的起始点,查找你要的对象,打印找到的对象,关闭Context…… ftp文件传输 2个目标文件...