struts开发实践—简单树的实现

原创 2004年10月10日 08:58:00

--文章源自一位网友

这篇文章是一个叫smilelily网友写的,昨天找自己的email记录找到了,他在csdn上有用户,文章源地址
http://dev.csdn.net/user/smilelily

struts开发实践-简单树的实现

本案主要功能是完成用java语言写的一个简单的树,优点在于jsp页面的代码比较简单干净。缺点在于每次操作都要去服务器端再去取一次数据。近来在http://www.aspaid.com/网站找到一个javascript写的树,将js代码与java代码混编,可以得到一个功能比较全面的树,而且数据可一次性从服务器端取出,大家可以试一下。下面介绍的是前一种方法的代码实例。

1.定义MyTreeForm

package test;

import org.apache.struts.action.*;

import javax.servlet.http.*;

public class MyTreeForm

    extends ActionForm {

  /**id号*/

  private int id = 0;

  /**级别*/

  private int level = 0;

  /**名称*/

  private String text = "";

  /**上级节点*/

  private String upIds = "0";

  /**是否有子节点 0:no;1:yes;*/

  private String haveChild = "0";

  /**是否展开 //0:false;1:true;*/

  private String ifExpanded = "0";

  /**是否有下一个节点0:false;1:true;*/

  private String haveNext = "0";

  /**是否显示 0:visible;1:unvisible;*/

  private String isVisible = "0";

  /**节点链接串*/

  private String link = "null";

  public void setHaveChild(String haveChild) {

    this.haveChild = haveChild;

  }

 

  public String getHaveChild() {

    return haveChild;

  }

 

  public void setHaveNext(String haveNext) {

    this.haveNext = haveNext;

  }

 

  public String getHaveNext() {

    return haveNext;

  }

 

  public void setIfExpanded(String ifExpanded) {

    this.ifExpanded = ifExpanded;

  }

 

  public String getIfExpanded() {

    return ifExpanded;

  }

 

  public void setIsVisible(String isVisible) {

    this.isVisible = isVisible;

  }

 

  public String getIsVisible() {

    return isVisible;

  }

 

  public void setLink(String link) {

    this.link = link;

  }

 

  public String getLink() {

    return link;

  }

 

  public void setId(int id) {

    this.id = id;

  }

 

  public int getId() {

    return id;

  }

 

  public void setLevel(int level) {

    this.level = level;

  }

 

  public int getLevel() {

    return level;

  }

 

  public void setState(String state) {

    this.state = state;

  }

 

  public String getState() {

    return state;

  }

 

  public void setText(String text) {

    this.text = text;

  }

 

  public String getText() {

    return text;

  }

 

  public void setUpIds(String upIds) {

    this.upIds = upIds;

  }

 

  public String getUpIds() {

    return upIds;

  }

 

  public ActionErrors validate(ActionMapping actionMapping,

                               HttpServletRequest httpServletRequest) {

    /**@todo: finish this method, this is just the skeleton.*/

    return null;

  }

 

  public void reset(ActionMapping actionMapping,

                    HttpServletRequest httpServletRequest) {

  }

}

2.你就可以将你要显示的树的结果集,按照myTreeForm的样式存放在新的list中。

3.jsp的显示代码节选:

<%@ page contentType="text/html;charset=GBK" %>

<%@ taglib uri="/bean" prefix="bean" %>

<%@ taglib uri="/html" prefix="html" %>

<%@ taglib uri="/logic" prefix="logic" %>

<html:errors/>

<table width="100%" border="0" cellspacing="0" cellpadding="0">

<tr>

<%--树形显示区--%>

<td width="200" valign="top">

  <html:form action="/sortAdminAction.do" method="post">

  <table width="300" cellspacing="0" cellpadding="1">

     <tr><td><a href="javascript:doGenerateTree('0')"><img src="images/base.gif" border="0" >root</a></td></tr>

     <logic:iterate name="treeList" id="treeList" type="test.MyTreeForm">

         <logic:equal name="treeList" property="ifExpanded" value="1">

            <tr><td><img src="images/space.gif" width="<bean:write name="treeList" property="level"/>" height="1"><a href="javascript:doGenerateTree('<bean:write name="treeList" property="upIds"/>')"><img src="images/trees/no.gif" border="0"><bean:write name="treeList" property="text"/></a></td></tr>

         </logic:equal>

         <logic:equal name="treeList" property="ifExpanded" value="0">

            <tr><td><img src="images/space.gif" width="<bean:write name="treeList" property="level"/>" height="1"><a href="javascript:doGenerateTree('<bean:write name="treeList" property="upIds"/>')"><img src="images/trees/have.gif" border="0"><bean:write name="treeList" property="text"/></a></td></tr>

         </logic:equal>

     </logic:iterate>

  </table>

  <html:hidden property="upIds"/>

  </html:form>

</td></tr>

</table>

</body>

</html>

<SCRIPT LANGUAGE="JavaScript"> 

function doGenerateTree(upIds){

   myTreeForm.upIds.value=upIds;

   myTreeForm.submit();

}

</SCRIPT>

4。其实掌握了方法,写一简单树不成问题,如何写的树更美观、互动性更好、速度快还得花点功夫,有好的方法别忘了跟大家交流:)。

基于Struts2和Android的简单登陆注册功能的设计与实现(待完善)

1. 需求分析 本文的目标就是实现一个简单的登陆注册系统,系统的功能就是让用户能够正常的登陆和注册 1.1功能需求 系统主要有2个功能:登陆和注册. (1)登陆:用户在系...
  • xiaozhonghuaa
  • xiaozhonghuaa
  • 2015年03月28日 14:39
  • 1252

菜鸟学习Struts——简易计算器

这是利用Struts做的一个简易计算器
  • gwblue
  • gwblue
  • 2014年01月17日 11:16
  • 3465

struts开发实践—分页的实现

--文章源自一位网友这篇文章是一个叫smilelily网友写的,昨天找自己的email记录找到了,他在csdn上有用户,文章源地址 http://dev.csdn.net/user/smilelily...
  • iwo99
  • iwo99
  • 2004年10月10日 08:57
  • 1319

struts开发实践-分页的实现

struts开发实践-分页的实现本案主要功能是完成数据集的分页显示。示例代码如下: 1.PageInfo类:定义分页信息。/******************program begin*******...
  • heimaoxiaozi
  • heimaoxiaozi
  • 2007年03月12日 11:23
  • 579

struts开发实践—分页的实现

本案主要功能是完成数据集的分页显示。示例代码如下: 1.PageInfo类:定义分页信息。/******************program begin***********************...
  • Kipen
  • Kipen
  • 2007年03月30日 01:54
  • 646

Struts简单介绍

Struts是采用Java Servlet/JavaServer Pages技术,开发Web应用程序的开放源码的framework。采用Struts能开发出基于MVC(Model-View-Contr...
  • arielxp
  • arielxp
  • 2004年06月24日 18:44
  • 3614

JS树简易实现

梅花雪树(MzTreeView2.0) 先倒入2.0的js JSP代码: MzTreeView 2
  • jqrsdsy
  • jqrsdsy
  • 2010年12月02日 22:16
  • 2948

Struts开发实践

1. 在actionForm中使用array以匹配重复的变量。例如在使用multibox时,相对应的可以在form中定义array。2.使用显示collection的记录总数。 eg:。如果resul...
  • ckangtai
  • ckangtai
  • 2007年04月11日 15:29
  • 374

struts的简单介绍

Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。Struts 2以WebWork为核心,采用拦截器的机制来处理用户...
  • zhuofeng85
  • zhuofeng85
  • 2013年09月23日 23:28
  • 1851

java Struts2 框架的搭建与简单的登录验证

新建一个web项目下载如下包,放到lib目录下 配置 添加web.xml   struts2 org.apache.struts2.dispatcher.ng.filter.S...
  • zhaanghao
  • zhaanghao
  • 2015年09月21日 14:43
  • 308
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:struts开发实践—简单树的实现
举报原因:
原因补充:

(最多只允许输入30个字)