`
lion222
  • 浏览: 125060 次
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

jsp中mztreeview的应用实例

阅读更多

web中tree的应用非常广泛,动态tree的实现也是多种多样,这里主要是写下我用mztreeview(梅花雪大侠所写)的jsp例子.

梅大侠的文档中给了个asp的例子,但是在jsp中如何应用呢?熟知asp和jsp的人可以很好的把程序移植,但是对于不是同时很熟悉这2中语言的人来说,有一个jsp例子,会方便很多.

1.首先,下载控件,MzTreeView10 

2.(最好)将控件放到工程目录下

3,建立数据库

   create table tree
(
 id int primary key,
 parentId int,
 text varchar(50),
 hint varchar(100),
 icon varchar(20),
 data varchar(20),
 url varchar(50),
 target varchar(20), 
 method varchar(50)
)

然后往数据库中插入数据,

注意:mztreeview默认一个须根节点,其父节点值是0

4,做数据服务层

这个是关键,树的动态生成一半要靠它(另一半借助javascript代码),这个类的主要方法是要生成要生成树的数据所需的数据,其中Contants.treeName是个常量,这个要与界面上定义的mztreeview对象的名称一致

import java.sql.ResultSet;
import java.sql.SQLException;

import com.xaccp.qingyun.db.DBManager;
import com.xaccp.qingyun.entity.Contants;
import com.xaccp.qingyun.exception.MyException;
import com.xaccp.qingyun.factory.DBFactory;
import java.util.*;
public class TreeService {
 DBManager dm=null;
 
 public String getTree() throws MyException
 {

//DBFactory是我写的一个工厂类,DBManager是个底层数据库操纵类
//用到的几个方法根据方法名也能理解,就不多说了
  dm=DBFactory.createDBManager();

  String sql="select * from shelf";
  try {
   dm.createPreparedStatement(sql);
   ResultSet rs=dm.executeQueryPrepareStatement();
   String tree="";
   while(rs.next())
   {
    String id=String.valueOf(rs.getInt("id"));
    String pid=String.valueOf(rs.getInt("parentId"));
    String text=rs.getString("text");
    String hint=rs.getString("hint");
    String url=rs.getString("url");
    String target=rs.getString("target");
    tree +="\n"+Contants.treeName+".nodes[\""+pid+"_"+id+"\"]=\"";

//这里我只做了几个判断,其他的自己做判断就行
    if(text !=null && text.trim()!="")
    {
     tree +="text:"+text+";";
    }
    if(hint!=null && hint.trim().equals(""))
    {
     tree +="hint:"+hint+";";
    }
    if(url!=null && url.trim().equals(""))
    {
     tree +="url:"+url+";";
    }
    if(target!=null && target.trim().equals(""))
    {
     tree +="target:"+target+";";
    }
    tree +="\"";
   }


   return tree;
  } catch (Exception e) {
   throw new MyException("can't create tree"); //MyException是我定义的异常类
  }
  finally
  {
   dm.closeDB();
  }
 }

5,做界面层

这时候有几点要非常注意,1,编码一定要用GBK(这个我尝试了好久,只有GBK才能正常显示)

2.树的名字要跟Contants.treeName常量的值一样

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<jsp:directive.page import="com.xaccp.qingyun.bean.TreeService"/>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<html>
  <head>
    <title>梅花雪中文网 - 网页脚本控件集 MzTreeView10</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <meta name="author" content="黄方荣(meizz·梅花雪)://www.meizz.com">
    <script language="JavaScript" src="MzTreeView10/MzTreeView10.js"></script>
    <!--link href="http://www.meizz.com/Scripts/Global.css" type="text/css" rel="stylesheet"-->
    <style>
    A.MzTreeview
    {
      font-size: 9pt;
      padding-left: 3px;
    }
    </style>
  </head>

  <body  bgcolor="#FFFFDB" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    window.tree = new MzTreeView("tree");

    tree.icons["property"] = "property.gif";
    tree.icons["css"] = "collection.gif";
    tree.icons["book"]  = "book.gif";
    tree.iconsExpand["book"] = "bookopen.gif"; //展开时对应的图片
    tree.setIconPath("MzTreeView10/"); //可用相对路径
 <%
  TreeService ts=new TreeService();
  String tree=ts.getTree();
  out.print(tree);
 %>
  
    tree.setURL("#");
    tree.setTarget("MzMain");
    document.write(tree.toString());    //亦可用 obj.innerHTML = tree.toString();
    //-->
    </SCRIPT>
  </body>
</html>

6,到此一棵动态,无限级别的动态树就在jsp中生成了,下面是效果图

 

注:mztreeview版权归梅花雪大侠所有

分享到:
评论

相关推荐

    jsp web 资源树(jsp+mztreeview10)

    myeclipse工具开发的简单web项目,下载后解压导入到myecllipse中,可直接运行,查看结果。(详见readme.txt) 项目功能:读取指定服务器目录下文件及文件目录显示在web页面树中。

    AjaxTree jsptree MzTreeView xtree树形菜单代码集锦.rar

    AjaxTree jsptree MzTreeView xtree树形菜单代码集锦,其中有两个例子是用在JSP环境下的WEB Tree,其余是基于js的树形菜单,一共有5款树状菜单代码,不管是学习参考或是使用都是值得下载收藏的。

    mztreeview

    "mztreeview"是一个专用于创建树形菜单的软件组件,尤其在网页开发中常见,主要用于构建层次结构清晰、交互性强的导航系统。这个组件的名字可能来源于“梅花”(mz)与“tree view”(树视图)的组合,暗示了其设计...

    MzTreeView10

    【MzTreeView10】是一款经典的Windows控件,主要用于在应用程序中实现树形视图的功能。在Windows编程中,树形视图控件是常见的一种界面元素,它允许用户以层级结构来展示数据,通常用于文件系统浏览、组织结构显示...

    MzTreeView1.0

    3. **index.html**:通常是项目的主入口页面,包含了引入MzTreeView和其他相关资源的代码,我们可以在这个文件中找到如何使用MzTreeView的实例。 4. **MzTreeView12.js 和 MzTreeView12-pack.js**:这是MzTreeView...

    mztreeview树形控件

    Mtree.html很可能是包含mztreeview实例的HTML文件,用户只需在浏览器中打开这个文件,就能看到实际的树形结构并进行交互。这对于开发者来说是一个快速验证代码和设计的便捷方式。 在提供的压缩包文件中,“说明.htm...

    MzTreeView10 开发文档

    MzTreeView10 开发文档 菜单树开发入门

    MzTreeView2.0

    本文将详细阐述MzTreeView2.0的核心特点、功能、使用方法以及实际应用中的技巧,帮助开发者更好地理解和利用这一优秀工具。 首先,MzTreeView2.0是一款专门用于Windows应用程序开发的树形视图控件,它基于.NET ...

    mztreeview2

    7. **API与配置项**:理解并熟练使用"mztreeview2"提供的API(应用程序接口)和配置选项,可以定制树形结构的样式、行为和交互。 8. **响应式设计**:考虑到不同设备的屏幕大小和分辨率,开发者还需要了解如何使...

    梅花雪MzTreeView1.0

    梅花雪MzTreeView1.0 梅花雪MzTreeView1.0 梅花雪MzTreeView1.0 梅花雪MzTreeView1.0 梅花雪MzTreeView1.0

    MzTreeView(asp.net调用方法)

    要在ASP.NET项目中使用MzTreeView,首先需要将控件的库文件(如DLL)添加到项目的引用中。这可以通过在解决方案资源管理器中右键点击“引用”并选择“添加引用”来完成。接着,在页面的`.aspx`文件中,通过`...

    mztreeview1.0

    "MzTreeView1.0"是一款专门用于创建和管理树形结构的控件,适用于Windows应用程序开发,尤其是在IT行业的GUI(图形用户界面)设计中。它提供了丰富的功能和灵活性,使得开发者能够轻松地在应用程序中构建出层次清晰...

    MzTreeView10.rar

    【描述】描述中提到,这是一个用JavaScript编写的树状视图,树形结构通常在网页应用中用于展现层次化的数据,如目录结构、组织架构或者关系网络等。"1024节点的树" 表示这个控件能够处理至少1024个条目的显示,这在...

    自己优化的mztreeview2.0 梅花雪好用强大

    在这个案例中,mztreeview2.0是对原有mztreeview的优化。 3. **性能优化**:优化可能涉及到减少资源消耗、提高运行速度、优化内存管理等方面,使软件在处理大量数据或复杂操作时表现更好。 4. **用户体验**:优化...

    javascript特效之树控件MzTreeView

    3. **初始化树控件**:使用JavaScript创建MzTreeView实例,并将之前创建的`div`元素作为参数传入,设置相关配置,如初始展开的节点、节点数据源等。 4. **加载数据**:数据可以是JSON格式,包含节点ID、文本、父...

    MzTreeView + jQuery 实现地区树型选择.

    `MzTreeView`和`jQuery`结合使用,可以创建出高效、用户友好的地区树型选择器,这种选择器通常用于地理信息的选择或者筛选,比如在注册、地址输入等场景。下面我们将详细探讨这两个工具及其在实现地区树型选择中的...

    MzTreeView1.4版本

    开发者可以使用XML解析库,如System.Xml命名空间中的类,解析XML文档,获取`node`元素及其`children`子元素,然后将这些信息映射到MzTreeView的节点结构上。 ### 动态加载子节点的优势 1. **性能优化**:动态加载...

    一个好用的js树 梅花雪MzTreeView

    【应用实例】: MzTreeView适用于各种Web应用场景,例如: 1. 文件系统浏览器:模拟本地文件夹结构,让用户可以浏览、操作文件。 2. 组织架构图:展示公司或项目中的人员结构,便于管理和查找。 3. 层次关系展示:...

    MzTreeView 支持 checkbox radio

    修改自meizz的树,这个树确实很强 可加checkbox和radio参考了 http://blog.csdn.net/xustanly/archive/2006/09/11/1207222.aspx

Global site tag (gtag.js) - Google Analytics