jsp页面:
选择收文机构:
<a href="#" onclick="collapseAll()">全部关闭</a>
<a href="#" onclick="expandAll()">全部展开</a>
<input type="hidden" name="fileoperate.sendUnitId"
id="sendUnitId" />
<input type="hidden" name="fileoperate.sendUnitName"
id="sendUnitName" />
<br />
<ul id="jigou">
</ul>
后台:(从数据库中取出信息拼接json串)
public String areaStorageAct() {
// ----------------------------------------------------------------------------------
Map session = ServletActionContext.getContext().getSession();
InfoWebBean infoWebBean=(InfoWebBean) session.get("infobean");
adminId=infoWebBean.getId();//结果:32位的Id
adminUser=clubService.findAdminById(adminId);
String adminArea="";
String adminAreaName="";
IAreaManage areaManage = AreaManageBean.getInstance();
myAreaManageList = new ArrayList<AreaManage>();
StringBuffer buffer=new StringBuffer();
if (StringUtils.isNotBlank(adminUser.getXian())&&!"null".equals(adminUser.getXian())) {
adminArea=adminUser.getXian();
buffer.append("");
treeData=buffer.toString();
ServletActionContext.getRequest().setAttribute("treeData",treeData);
}else if(StringUtils.isNotBlank(adminUser.getShi())&&!"null".equals(adminUser.getShi())) {
adminArea=adminUser.getShi();
adminAreaName=areaManage.getAreaName(adminArea);
List<AreaManage> tempMyAreaManageList = areaManage.getXianByShiID(adminArea);
buffer.append("[");
buffer.append("{\"id\":\""+adminArea+"\",\"text\":\""+adminAreaName+"\",\"state\":\"closed\",\"children\":[");
for(int i = 0 ;i<tempMyAreaManageList.size();i++){
buffer.append("{\"id\":\""+tempMyAreaManageList.get(i).getId()+"\",\"text\":\""+adminAreaName+tempMyAreaManageList.get(i).getName()+"\"}");
if(i<tempMyAreaManageList.size()-1){
buffer.append(",");
}
}
buffer.append("]}]");
treeData=buffer.toString();
ServletActionContext.getRequest().setAttribute("treeData",treeData);
System.out.println("buffer--------------------------------------------------------"+buffer);
}else if(StringUtils.isNotBlank(adminUser.getSheng())&&!"null".equals(adminUser.getSheng())){
adminArea=adminUser.getSheng();
List<AreaManage> tempMyAreaManageList = areaManage.getShiByShengID(adminArea);
buffer.append("[");
if (tempMyAreaManageList.size()>0){
for(int i = 0 ; i<tempMyAreaManageList.size();i++){
String id=tempMyAreaManageList.get(i).getId();
String name=tempMyAreaManageList.get(i).getName();
buffer.append("{\"id\":\""+id+"\",\"text\":\""+name+"\",\"state\":\"closed\",\"children\":[");
myAreaManageList=areaManage.getXianByShiID(id);
for (int j=0;j<myAreaManageList.size();j++){
buffer.append("{\"id\":\""+myAreaManageList.get(j).getId()+"\",\"text\":\""+name+myAreaManageList.get(j).getName()+"\"}");
if(j<myAreaManageList.size()-1){
buffer.append(",");
}
}
buffer.append("]}");
if(i<tempMyAreaManageList.size()-1){
buffer.append(",");
}
}
}
buffer.append("]");
treeData=buffer.toString();
ServletActionContext.getRequest().setAttribute("treeData",treeData);
}
}
前台(js)
//从后台取得json串并添加到jsp页面中,加载成功后把数据库中取出的值在tree上显示出来(json串中必须有id)
$(function() {
$("#jigou").tree({
checkbox : true,
cascadeCheck : false,
url : "fileoperate_areaStorage.action",
onLoadSuccess:function(){
var vals='${fileoperate.sendUnitId}';
var arrs=new Array();
arrs=vals.split(",");
for(var i=0;i<arrs.length;i++){
var node=$('#jigou').tree('find',arrs[i]);
$('#jigou').tree('check',node.target);
}
}
});
});
//获得选中的checkbox的id值
function getChecked() {
var nodes = $("#jigou").tree('getChecked');
var s = '';
var tt = '';
for ( var i = 0; i < nodes.length; i++) {
s += nodes[i].id;
tt += nodes[i].text;
if (i < nodes.length - 1) {
s += ',';
tt += ',';
}
}
document.getElementById("sendUnitId").value = s;
document.getElementById('sendUnitName').value = tt;
}
//全部关闭
function collapseAll() {
$('#jigou').tree('collapseAll');
}
//全部展开
function expandAll() {
$('#jigou').tree('expandAll');
}