书签 分享 收藏 举报 版权申诉 / 17

类型三种使用Struts 2实现树状菜单的方式.docx

  • 文档编号:23300100
  • 上传时间:2023-05-16
  • 格式:DOCX
  • 页数:17
  • 大小:21.57KB
  

33.        

 left; margin-right:

 50px;">  

34.            

tree label="软件工程" templateCssPath="/struts/tree.css"  

35.                showRootGrid="true" showGrid="true" treeSelectedTopic="treeSelected">  

36.                

treenode label="开发工具">  

37.                    

treenode label="java" id="grandchild1Id" />  

38.                    

treenode label="c++" id="grandchild2Id" />  

39.                    

treenode label="delphi" id="grandchild3Id" />  

40.                

treenode>  

41.                

treenode label="编程思想" id="child2Id" />  

42.                

treenode label="数据结构" id="child3Id" />  

43.                

treenode label="设计模式" id="child4Id" />  

44.                

treenode label="相关框架插件" id="child5Id">  

45.                    

treenode label="Dojo" id="gChild1Id" />  

46.                    

treenode label="Hibernate" id="gChild2Id" />  

47.                

treenode>  

48.            

tree>  

49.        

  

50.      

51.  

******************************************************************************

2.动态树状菜单:

地址栏访问方法http:

//127.0.0.1:

8080/study3/tree/showDynamicTreeAction.action

具体需要如下文件:

struts2的类库文件即与struts2相关的包文件,web.xml,struts.xml,动态树状菜单的显示页面treeExampleDynamic.jsp,

辅助显示页面:

dynamicTreeSelect.jsp,动态Action类文件DynamicTreeSelectAction.java,

提供数据的Bean类文件:

Category.java,

******************************************************************************

所需要的包文件如下:

******************************************************************************

commons-fileupload-1.2.1.jar

commons-io-1.3.2.jar

freemarker-2.3.12.jar

ognl-2.6.11.jar

struts2-core-2.1.2.jar

xwork-2.1.1.jar

struts2-dojo-plugin-2.1.2.jar

******************************************************************************

web.xml配置文件

*****web.xml******************************************************************

1.

xml version="1.0" encoding="UTF-8"?

>  

2.

3.    xmlns:

xsi="http:

//www.w3.org/2001/XMLSchema-instance"  

4.    xsi:

schemaLocation="   

5.      

6.      

7.        struts2  

8.          

9.            org.apache.struts2.dispatcher.FilterDispatcher  

10.          

11.      

12.      

13.        struts2  

14.        /*  

15.      

16.      

17.        index.jsp  

18.      

19.  

******************************************************************************

在此struts.xml配置文件中我将动态树状菜单以及动态Ajax树状菜单的配置内容写在了这一个

配置文件中,其中动态树状菜单需要的action有dynamicTreeSelectAction,showDynamicTreeAction

动态Ajax树状菜单需要的action有dynamicTreeSelectAction,showDynamicAjaxTreeAction,

getNodes,这两个实例共用了提供数据的bean类文件Category.java文件.同时它们共用了

dynamicTreeSelectAction,但用于显示的Action类文件分别用了自己的Action类文件.

******************************************************************************

*******struts.xml***************************************************************

1.

xml version="1.0" encoding="UTF-8" ?

>  

2.

DOCTYPE struts PUBLIC  

3.    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"  

4.    "http:

//struts.apache.org/dtds/struts-2.0.dtd">  

5.  

6.    

7.        namespace="/tree">  

8.        

9.            class="com.zhang.study3.DynamicTreeSelectAction">  

10.            /dynamicTreeSelect.jsp  

11.          

12.        

13.            class="com.zhang.study3.ShowDynamicTreeAction">  

14.            /treeExampleDynamic.jsp  

15.          

16.          

17.            /treeExampleAjaxDynamic.jsp  

18.          

19.        

20.            class="com.zhang.study3.ShowAjaxDynamicTreeAction">  

21.              

22.                /treeExampleAjaxDynamic.ftl  

23.              

24.          

25.      

26.  

******************************************************************************

********treeExampleDynamic.jsp***************************************************

1.<%@ page language="java" pageEncoding="UTF-8"%>  

2.<%@taglib prefix="s" uri="/struts-tags"%>  

3.<%@ taglib prefix="sx" uri="/struts-dojo-tags"%>  

4.  

5.      

6.        Showcase - UI Tag Example - Tree Example (Dynamic)  

7.        

head />  

8.      

9.      

10.          

11.    dojo.event.topic.subscribe("treeSelected", function treeNodeSelected(node) {  

12.        dojo.io.bind({  

13.            url:

 "

url value='/tree/dynamicTreeSelectAction.action'/>?

nodeId="+node.node.widgetId,  

14.            load:

 function(type, data, evt) {  

15.                var divDisplay = dojo.byId("displayId");  

16.                divDisplay.innerHTML=data;  

17.            },  

18.            mimeType:

 "text/html"  

19.        });  

20.    });  

21.  

22.        

 left; margin-right:

 50px;">  

23.            

tree id="tree" rootNode="%{treeRootNode}"  

24.                childCollectionProperty="children" nodeIdProperty="id"  

25.                nodeTitleProperty="name" treeSelectedTopic="treeSelected">  

26.            

tree>  

27.        

  

28.          

29.            Please click on any of the tree nodes.  

30.        

  

31.      

32.  

******************************************************************************

******dynamicTreeSelect.jsp***************************************************

1.<%@ page language="java" pageEncoding="UTF-8"%>  

2.<%@taglib prefix="s" uri="/struts-tags" %>  

3.Id:

property value="%{nodeId}" />
  

4.Name:

property value="%{nodeName}" />
  

(注:

此文件就这三行代码负责将你选择的树状菜单相应结点信息如节点Id值与节点名称显示

在.jsp页面上.)

******************************************************************************

用于生成树状菜单的Action类文件

******DynamicTreeSelectAction.java********************************************

1.package com.zhang.study3;  

2.  

3.import com.opensymphony.xwork2.ActionSupport;  

4.import com.zhang.study3.Category;  

5.public class DynamicTreeSelectAction extends ActionSupport {  

6.  

7.    private long nodeId;  

8.    private Category currentCategory;  

9.  

10.    public void setNodeId(long nodeId) {  

11.        this.nodeId = nodeId;  

12.    }  

13.    public long getNodeId() {  

14.        return nodeId;  

15.    }  

16.  

17.    public String execute() throws Exception {  

18.        currentCategory = Category.getById(nodeId);  

19.        return SUCCESS;  

20.    }  

21.  

22.    public String getNodeName() {  

23.        return currentCategory !

= null ?

 currentCategory.getName() :

 "Node not found";  

24.    }  

25.}  

******************************************************************************

提供数据的bean类文件

****Category.java*************************************************************

1.package com.zhang.study3;  

2.  

3.import java.util.ArrayList;  

4.import java.util.HashMap;  

5.import java.util.List;  

6.import java.util.Map;  

7.  

8.public class Category {  

9.    private static Map catMap = new HashMap();  

10.    static {  

11.        new Category(1, "省总公司",  

配套讲稿:

如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

特殊限制:

部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

关 键  词:
三种使用Struts 2实现树状菜单的方式 使用 Struts 实现 树状 菜单 方式
提示  冰豆网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:三种使用Struts 2实现树状菜单的方式.docx
链接地址:https://www.bdocx.com/doc/23300100.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2008-2022 冰点文档网站版权所有

经营许可证编号:鄂ICP备2022015515号-1

收起
展开