1、% taglib prefix=sx/struts-dojo-tags% String path = request.getContextPath(); String basePath = request.getScheme() + :/ + request.getServerName() + + request.getServerPort() + path + /;html sx:head /base href=%=basePath%titleTree Example(Static)meta http-equiv=content-type content=text/html; charset
2、=UTF-8script language=JavaScript type=text/javascript dojo.event.topic.subscribe(treeSelected, function treeNodeSelected(node) dojo.io.bind( url: s:url value=/info/staticTreeAction.action/?nodeId=+node.node.title, load: function(type, data, evt) var divDisplay = dojo.byId(displayIt); divDisplay.inne
3、rHTML=data; , mimeType:text/html );/script/headbody div id= Please click on any node on the tree./divdiv style=float: left; margin-right: 50px;tree label=软件工程 templateCssPath=/struts/tree.css showRootGrid=true showGrid= treeSelectedTopic=treenode label=开发工具 id=grandchild1Id /c+grandchild2Iddelphigra
4、ndchild3Id/sx:treenode编程思想child2Id数据结构child3Id设计模式child4Id相关框架插件child5IdDojogChild1IdHibernategChild2Idtree/body/html*2.动态树状菜单:地址栏访问方法http:8080/study3/tree/showDynamicTreeAction.action具体需要如下文件:struts2的类库文件即与struts2相关的包文件,web.xml,struts.xml,动态树状菜单的显示页面treeExampleDynamic.jsp,辅助显示页面:dynamicTreeSelect.j
5、sp,动态Action类文件DynamicTreeSelectAction.java,提供数据的Bean类文件:Category.java,所需要的包文件如下:commons-fileupload-1.2.1.jarfreemarker-2.3.12.jarweb.xml配置文件*web.xml*xml version=1.0 encoding=web-app version=2.4 xmlns= xmlns:xsi=/www.w3.org/2001/XMLSchema-instance xsi:schemaLocation=filterfilter-namestruts2filter-cla
6、ss org.apache.struts2.dispatcher.FilterDispatcher/filter-class/filterfilter-mappingurl-pattern/*/filter-mappingwelcome-file-listwelcome-fileindex.jsp/welcome-file-list/web-app在此struts.xml配置文件中我将动态树状菜单以及动态Ajax树状菜单的配置内容写在了这一个配置文件中,其中动态树状菜单需要的action有dynamicTreeSelectAction,showDynamicTreeAction动态Ajax树状
7、菜单需要的action有dynamicTreeSelectAction,showDynamicAjaxTreeAction,getNodes,这两个实例共用了提供数据的bean类文件Category.java文件.同时它们共用了dynamicTreeSelectAction,但用于显示的Action类文件分别用了自己的Action类文件*struts.xml* ?!DOCTYPE struts PUBLIC-/Apache Software Foundation/DTD Struts Configuration 2.0/EN/struts.apache.org/dtds/struts-2.0.
8、dtdstrutspackage name=default extends=struts-default namespace=/treeaction name=dynamicTreeSelectAction class=com.zhang.study3.DynamicTreeSelectActionresult/dynamicTreeSelect.jsp/actionshowDynamicTreeActioncom.zhang.study3.ShowDynamicTreeAction/treeExampleDynamic.jspshowDynamicAjaxTreeAction/treeExa
9、mpleAjaxDynamic.jsp/struts*treeExampleDynamic.jsp*Showcase - UI Tag Example - Tree Example (Dynamic)Id:property value=%nodeIdbr/Name:%nodeName(注:此文件就这三行代码负责将你选择的树状菜单相应结点信息如节点Id值与节点名称显示在.jsp页面上)用于生成树状菜单的Action类文件*DynamicTreeSelectAction.java*package com.zhang.study3;import com.opensymphony.xwork2.Act
10、ionSupport;import com.zhang.study3.Category;public class DynamicTreeSelectAction extends ActionSupport private long nodeId; private Category currentCategory; public void setNodeId(long nodeId) this.nodeId = nodeId; public long getNodeId() return nodeId; public String execute() throws Exception curre
11、ntCategory = Category.getById(nodeId); return SUCCESS; public String getNodeName() return currentCategory != null ? currentCategory.getName() :Node not found提供数据的bean类文件*Category.java*import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;public class Category
12、 private static Map catMap = new HashMap(); static new Category(1, 省总公司, new Category(2, 地市1分公司 new Category(3, 桥东区办事处 new Category(4, 市场组), new Category(7, 客服组 new Category(8, 技术组), new Category(9, 开发区办事处 new Category(10, new Category(11, new Category(12, new Category(13, 后勤组), new Category(14, 地市2分公司 new Category(15, 软件开发组 new Category(16, 软件测试组 new Category(17, 售后服务组 new Category(18, 市场拓展组 new Category(19, 财物组); public static Category getById(long id) return catMap.get(id); private long id; private String name; private List children; private
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1