strutsajax:Struts 2和AJAX(第 2部分)来源: 发布时间:星期二, 2009年1月20日 浏览:85次 评论:0
在上篇文章Struts 2和AJAX(第部分)我已经简单地介绍了<s:tree />些使用方法接下来我将继续深入讲解<s:tree />使用和通过DWR实现AJAX校验
更多<s:tree /> 在Struts 2show中有两个<s:tree />例子分别是静态树和动态树所谓静态树即是在编写JSP代码时通过<s:treenode />生成树节点我上篇文章例子就是个典型静态树而动态树则是在运行期间Struts 2 运行时(Runtime)根据中数据动态创建树节点虽然在两个例子中<s:tree />theme属性都为“ajax”但是从严格意义上来说这两种树都不属于AJAX树它们都是在输出页面时将全部节点加载到其中而不是在父节点展开时通过XHR(XMLHttpRequest)获取节点数据 动态树 下面我们先看下动态树例子接着再步步地将其改造为名副其实AJAX 树下例将会把WEB应用目录树展现在JSP页面中因此我需要先包装下java.io.File 类代码如下: package tutorial; 清单1 src/tutorial/FileWrapper.java 的所以需要对File类进行如此包装是<s:tree />用于动态树时rootNode、nodeIdProperty、nodeTitleProperty 和 childCollectionProperty等属性都必填 然后是Action类代码如下: package tutorial; 清单2 src/tutorial/DynamicTreeAction.java 上述代码取得WEB应用根目录绝对路径后化FileWrapper对象root该对象将为JSP页面<s:tree />根节点如下代码所示: <%@ page language="java" contentType="text/html; char=utf-8" 清单3 WebContent/Tree.jsp <s:tree />treeCollapsedTopic和treeExpandedTopic属性都没有起作用所以如果我们想要监听这两个事件就必须使用上述代码思路方法 最后是struts.xml配置文件: <?xml version="1.0" encoding="UTF-8"?> 清单4 src/struts.xml 发布运行应用在浏览器地址栏中键入http://localhost:8080/Struts2_Ajax2/DynamicTree.action有如下图所示页面: </action> 清单13 src/struts.xml配置片段 发布运行应用在浏览器地址栏中键入http://localhost:8080/Struts2_Ajax2/AjaxTreeTheme.action结果如图2所示 整理总结 通过上述例子大家知道Struts 2 AJAX 标志是基于DojoControl控件开发所以如果大家希望熟练地使用这些标志最好去了解下Dojo 本来还打算介绍下Struts 2和DWR不过看看文章篇幅似乎足够自成篇了因此DWR相关内容要留待下文继续了 0
相关文章
读者评论发表评论 |