页面:testTree.jsp 需要导入xtree.js,xmlextras.js,xloadtree.js,xtree.css
可以在这里下载
http://webfx.eae.net/dhtml/xloadtree/xloadtree.html
<%@ page language="java"%>
<%@ page contentType="Text/html;charset=UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'testTree.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<script type="text/javascript" src="/view/test/xtree.js"></script>
<script type="text/javascript" src="/view/test/xmlextras.js"></script>
<script type="text/javascript" src="/view/test/xloadtree.js"></script>
<link type="text/css" rel="stylesheet" href="/view/test/xtree.css" />
</head>
<body>
This is my JSP page. <br>
<script type="text/javascript">
/// XP Look
webFXTreeConfig.rootIcon = "/view/test/images/xp/folder.png";
webFXTreeConfig.openRootIcon = "/view/test/images/xp/folder.png";
webFXTreeConfig.folderIcon = "/view/test/images/xp/folder.png";
webFXTreeConfig.openFolderIcon = "/view/test/images/xp/openfolder.png";
webFXTreeConfig.fileIcon = "/view/test/images/xp/file.png";
webFXTreeConfig.lMinusIcon = "/view/test/images/xp/Lminus.png";
webFXTreeConfig.lPlusIcon = "/view/test/images/xp/Lplus.png";
webFXTreeConfig.tMinusIcon = "/view/test/images/xp/Tminus.png";
webFXTreeConfig.tPlusIcon = "/view/test/images/xp/Tplus.png";
webFXTreeConfig.iIcon = "/view/test/images/xp/I.png";
webFXTreeConfig.lIcon = "/view/test/images/xp/L.png";
webFXTreeConfig.tIcon = "/view/test/images/xp/T.png";
//这里最好写绝对路径
var tree = new WebFXTree("智能化多媒体培训平台");
tree.add(new WebFXTreeItem("Tree me 1"));
tree.add(new WebFXLoadTreeItem("Tree me 2","/view/test/test1.xml"));//这里也可以是xml路径
tree.add(new WebFXTreeItem("Tree me 3"));
tree.add(new WebFXLoadTreeItem("Tree me 4","/testTree.do"));//这里也可以是Action请求
document.write(tree);
</script>
</body>
</html>
Action:TestTreeAction.java
package testTree;
import java.io.PrintWriter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
public class TestTreeAction extends Action{
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
String asdf = request.getParameter("id");
System.out.println(asdf);
response.setCharacterEncoding("gb2312");
response.setContentType("text/xml charset=gb2312");
PrintWriter out = response.getWriter();
out.write("<?xml version=\"1.0\" encoding=\"gb2312\"?>");
out.write("<tree>");
int asdfInt = 0;
if(asdf == null || asdf.equals("") || asdf.equals("0")){
for(int i=1; i<=100; i++)
{
out.write("<tree text="+"\""+"目录-"+i+"\""+" src=\"/testTree.do?id="+i+"\" />");
}
}else{
asdfInt = Integer.valueOf(asdf);
if(asdfInt>= 1 || asdfInt <=100)
{
for(int i=1; i<=100; i++)
{
if(asdfInt == i)
{
for(int k=101; k<=200; k++)
{
out.write("<tree text="+"\""+"目录-"+i+"--"+k+"\""+" src=\"/testTree.do?id="+i+k+"\" />");
}
}
}
}
if(asdfInt>= 1101 || asdfInt <=100200)
{
for(int i=1101; i<=100200; i++)
{
if(asdfInt == i)
{
for(int k=1; k<=100; k++)
{
out.write("<tree text=\"看课件啦"+i+"--"+k+"\" action=\"http://192.168.1.109:8080/Gw_studytrainunitSI_retrieve.do?trainunit_id=679\" />");
//out.write("<tree text=\"习题导入\" action=\"/view/jsp/share/excel/exerciseImport.jsp\" target=\"mainFrame\" />");
}
}
}
}
}
out.write("</tree>");
out.flush();
return null;
}
}
用起来比较方便
具体属性和方法可以参考附件xloadtree_zh_cn.zip
参考文件地址:
http://wocclyl.blog.163.com/blog/static/4622350420094125250842/
http://zghbwjl.blog.163.com/blog/static/120336672201062953322934/
分享到:
相关推荐
综上所述,"Struts2实现动态树结合Hibernate"涉及到的主要知识点有:Struts2 MVC框架的工作原理、Hibernate的实体映射和CRUD操作、前端动态加载的实现、Ajax技术以及Struts2的配置和Action设计。通过整合这些技术,...
通过上述介绍可以看出,使用Struts和jQuery结合可以非常方便地实现一个动态加载的树形菜单功能。这种实现方式不仅让菜单的展示更加灵活多变,同时也大大提升了用户体验。对于Web开发者来说,掌握这项技术是非常有益...
在本项目中,"struts2动态树形目录"实现了这一功能,用户可以通过界面动态地创建、编辑和删除目录。 首先,让我们深入了解一下Struts2框架。Struts2基于拦截器模式,提供了丰富的插件和拦截器,支持多种视图技术如...
本文将深入探讨如何在Struts2.0.x框架下利用ExtJs库来实现动态树的解决方案。 首先,我们需要了解ExtJs。ExtJs是一个强大的JavaScript库,提供了丰富的组件和布局,用于构建富客户端应用程序。它提供了树形控件...
jsp项目开发实录 jsp项目开发实录 Struts 实现 程序完整 Struts 实现 程序完整 Struts 实现 程序完整 Struts 实现 程序完整Struts 实现 程序完整Struts 实现 程序完整Struts 实现 程序完整Struts 实现 程序完整...
通过以上步骤,我们就能实现一个基于ExtJS Tree、JSON和Struts 2的Ajax动态加载树结构。这种技术允许我们仅加载当前需要的节点,提高应用的性能,并且可以轻松地与服务器端数据进行交互。同时,由于采用了JSON格式,...
总之,Struts2动态树的实现涉及到了数据库操作、MVC设计模式的应用、前端交互逻辑和性能优化等多个方面,它是Java Web开发中一种常见的数据呈现形式,尤其适用于展示层级关系清晰的数据结构。通过熟练掌握这些技术,...
了解Struts2配置文件的加载顺序对于优化应用性能和解决配置问题至关重要。 Struts2的配置主要分布在以下几个文件中: 1. **struts-default.xml**:这是Struts2的核心配置文件,位于`struts2-core.jar`库的`/org/...
下面将详细探讨Struts2动态树的实现原理、应用场景以及相关的知识点。 1. **Struts2框架基础** Struts2是一个基于MVC模式的开源Java Web框架,它提供了丰富的插件和拦截器,用于处理请求、验证输入、跳转页面等。...
这些库提供了方便的API来动态加载和操作树节点。在本项目中,可能会利用JSP页面结合JavaScript来渲染树形菜单。 6. **文档`Struts+hibernate树形菜单.doc`**: 这个文档很可能包含了项目的详细步骤、配置说明、...
3. **数据传递**: 为了实现树的动态加载,即按需加载子节点,通常需要在Action中添加处理请求的方法,接收来自客户端的请求参数,如当前选中的节点ID,然后返回对应的子节点数据。 4. **JavaScript和AJAX**: 为了...
6. **动态加载**:为了提高性能,可以实现树的懒加载,即只在用户需要时加载子节点。这可以通过在Action中添加额外的方法来处理特定节点的子节点请求,并在前端进行相应的Ajax调用。 总结起来,构建Struts2中的树形...
**Struts与jQuery结合实现树形...总之,"Struts+jQuery实现树"项目是一个结合了Struts MVC框架和jQuery强大功能的应用实例,它展示了如何在Web应用中创建动态、交互性强的树形结构,同时提供了源码供开发者学习和扩展。
3. **.struts-config.xml配置文件**:在实现分页功能时,需要在项目的配置文件`struts-config.xml`中定义Action以及相关的ActionForm和ActionForward。ActionForm用于封装用户请求的数据,ActionForward则定义了请求...
Struts预加载数据的实现是Web开发中...通过以上讲解,我们了解了如何利用Struts2和Ajax实现数据预加载,以及这个示例项目的关键组成部分和技术栈。这不仅可以提升用户体验,还可以为开发者提供优化Web应用性能的思路。
在本项目中,我们探讨的是如何利用Struts2框架和AJAX技术动态地从数据库中获取数据,并生成交互式的树形菜单。树形菜单在Web应用中常见于导航系统,因为它能清晰地展示层次结构,方便用户浏览和操作。 首先,让我们...
标题中的“struts2+Jquery+json+treeview 动态加载树菜单”涉及的是一个Web开发中的技术组合,主要用于创建交互式的、可动态加载的数据展示界面。下面将详细解释这些技术及其在实现动态树菜单中的作用。 Struts2是...
在本文中,我们将探讨如何使用Struts和JavaScript的dTree库来实现一个树形菜单。树形菜单在各种Web应用中非常常见,如权限管理、导航系统等,因为它提供了层次清晰、易于交互的界面。 首先,我们需要了解dTree的...
总的来说,这个示例展示了如何在Java Web环境中集成多个库,实现数据的动态导入导出和PDF生成,对于理解Web应用的开发流程、Struts2的控制逻辑、IText的PDF操作、以及POI与Hibernate的数据库操作有很好的学习价值。...
总的来说,Struts2加载包的过程是构建和运行Struts2应用的基础,它涉及到核心库、插件、第三方依赖和特定工具库的组合。通过合理选择和管理这些包,可以有效地构建出高效、稳定且功能丰富的Java Web应用程序。