jstree
* jsTree의 json 문자열을 얻기 위한 무한 재귀
*
* @param parentId
* 부모 권한 ID
코드 복사
코드는 다음과 같습니다.
$("# mytree").tree({
데이터:{
유형:"json",
url :"${ctx}/user/power!list.do"
코드 복사
코드는 다음과 같습니다:
$("#demo2").tree({
data:{
유형:"json",
json:[
{속성:{id:"pjson_1" },상태:"열기",데이터:"루트노드1",자식 :[
{속성:{id:"pjson_2"},데이터:{제목 :"맞춤아이콘",아이콘:"../media/images/ok.png"}},
{속성:{id:"pjson_3"},data:"Child노드2"},
{속성:{id:"pjson_4"}, 데이터:"일부기타하위노드"}
]},
{속성:{id:"pjson_5"},데이터:"루트노드2"}
]
코드 복사
코드는 다음과 같습니다.
/ ***//**
*jsTree의 json 문자열을 얻기 위한 무한 재귀
*
*@paramparentId
*부모 권한 ID
*@return
*/
privateStringgetJson (longparentId)
{
//최상위 수준 확인
List
actions=actionManager.queryByParentId(parentId);
for(inti=0;i{
Actiona=actions.get(i);
//하위 노드가 있음
if(a.getIshaschild()==1)
{
str="{속성:{id:" "a.getAnid()
""}, 상태: " open", data: "" a.getAnname()"",";
str="children:[";
//자식 노드 찾기
Listlist=actionManager. queryByParentId(a.getAnid());
//하위 노드 순회
for(intj=0;j{
Actionac= list.get(j);
//하위 노드도 있습니다(재귀 호출)
if(ac.getIshaschild()==1)
{
this.getJson(ac.getParentid());
}
else
{
str= "{속성:{id:""ac.getAnid()
""},상태:"열기",데이터: ""ac.getAnname()
""""}"
if(j{
str=",";
}
}
}
str= "]";
str="}";
if (i{
str=","; }
}
}
코드 복사
코드는 다음과 같습니다.
@org.apache.struts2 .convention.annotation.Action(results=
{@Result(name="성공",위치="/ main/user/action-list.jsp")})
공개문자열목록( )
{
String str="[";
//루트에서 시작
str=this.getJson(0);
str="]";
this.renderJson(str );
returnnull;
}여기서 Action은 메뉴 클래스 또는 권한 클래스와 같은 엔터티입니다. 렌더링: