在struts2的文档中看到可以用s:tree标签来显示树,于是就按文档中的步骤走了一遍:
基本步骤是
1、<s:tree>标签不是struts-tags里面的标签,而是struts-dojo-tags里面的标签,使用时候必须引入struts-dojo-plugin-2.2.3.jar包。然后在页面上用<%@ taglib prefix="sx" uri="/struts-dojo-tags"%>引入
2、在<head>中加入<sx:head />标签
3、在页面中使用<s:tree>、<s:treenode>标签构建树模型
一下以一个静态树为例:
<sx:tree label="parent" id="parentId" >
<sx:treenode label="child1" id="child1Id" title="圣地" >
<sx:treenode label="grandchild1" id="grandchild1Id" />
<sx:treenode label="grandchild2" id="grandchild2Id" />
<sx:treenode label="grandchild3" id="grandchild3Id" />
</sx:treenode>
<sx:treenode label="child2" id="child2Id" />
<sx:treenode label="child3" id="child3Id" />
<sx:treenode label="child4" id="child4Id" />
<sx:treenode label="child5" id="child5Id">
<sx:treenode label="gChild1" id="gChild1Id" />
<sx:treenode label="gChild2" id="gChild2Id" />
</sx:treenode>
</sx:tree>
经过上面的几个步骤。理应会显示出树的模型,但是用firefox打开页面确发现很多关于.css、.js文件找不到的提示,而且页面也没有显示出树模型。
原来问题出在web.xml中struts2过滤的mapping配置上。
上面提示的css、js文件找不到的错误共同点都是以/struts/开头的请求。
所以必须要在web.xml中指定/struts/*或*的mapping
如图:
这样树就会显示出来了