Jquery easyui動的ツリーの実装
4969 ワード
前述の記事では、jqueryにおけるEasyUI実装非同期ツリーについて説明し、jquery easyui実装動的ツリーについて説明します.
まず、jspページに関連するjsファイルを導入してbodyにフローリストを追加し、あさってにjsonデータの具体的な内容をつづることで、次のコードの詳細を見てみましょう.
優先的にjspページに関連するjsを導入する
scriptの
bodyに加える
次のコードはEasyUI Jqueryダイナミックロードツリーです.ノードをクリックしてロードします.
まず、jspページに関連するjsファイルを導入してbodyにフローリストを追加し、あさってにjsonデータの具体的な内容をつづることで、次のコードの詳細を見てみましょう.
優先的にjspページに関連するjsを導入する
scriptの
$(function(){
$('#tt2').tree({
checkbox: false,
url: '<%=path%>/formconfig/loadWfNodes.do',
onBeforeExpand: function(node){
$('#tt2').tree('options').url = '<%=path%>/formconfig/loadWfNodes.do?wfId='+node.id;
}
});
});
bodyに加える
プロセスリストバックグラウンド接合jsonデータ
package com.aegon_cnooc.oa.formconfig.action;
import java.io.PrintWriter;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.aegon_cnooc.framework.base.action.BaseAction;
import com.aegon_cnooc.oa.formconfig.service.FormConfigService;
import com.aegon_cnooc.oa.ibatis.to.TuOafWfTO;
import com.aegon_cnooc.oa.ibatis.to.TuOafWfnodesTO;
import com.aegon_cnooc.util.StringUtil;
/**
*
* @Author: liuxinghui
* @Date: 2011-9-8
* @Version: 2.0
* @Despcrition:
*/
public class LoadWfNodesAction extends BaseAction{
private FormConfigService formConfigService;
public ActionForward executeAction(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
String wfId=request.getParameter("wfId");
String jsonstr = "[";
if(StringUtil.isNotEmpty(wfId)&&"0".equals(wfId)){
List wfList=formConfigService.findWf();
for(int i=0;i"+wfTo.getWfname()+"\",
" +
" \"state\":\"closed\"
" +
" },";
}
int end=jsonstr.length()-1;//
String json=jsonstr.substring(0,end);
json=json+"]";
response.setContentType("application/json;charset=gbk");
response.setCharacterEncoding("gbk");
PrintWriter pw = response.getWriter();
pw.write(json);
pw.flush();
}else{
List wfNodes=formConfigService.findWfNodesById(wfId);
for(int i=0;i"+wfNodesTo.getGenstepname()+"("+wfNodesTo.getNodeid()+")\",
" +
" \"state\":\"closed\"
" +
" },";
}
int end=jsonstr.length()-1;//
String json=jsonstr.substring(0,end);
json=json+"]";
response.setContentType("application/json;charset=gbk");
response.setCharacterEncoding("gbk");
PrintWriter pw = response.getWriter();
pw.write(json);
pw.flush();
}
return null;
}
public void setFormConfigService(FormConfigService formConfigService) {
this.formConfigService = formConfigService;
}
}
次のコードはEasyUI Jqueryダイナミックロードツリーです.ノードをクリックしてロードします.
$(function() {
$(document).ready(function() {
$.post("./test/tree.action", {}, function(json) {
$("#tt").tree({
data : json.itemsList,
onClick : function(node) {
$.post("./test/tree.action", {
"id" : node.id
}, function(json) {
$('#tt').tree('append', {
parent : node.target,
data : json.data
});
}, "json");
}
});
}, "json");
});
});