📄 sitemap.jsp
字号:
<%@ page language="java" %><%@ page import="org.jahia.tools.tree.*" %><%@ page import="org.jahia.services.pages.PageLoadFlags" %><%@ include file="include/header.jsp"%><% HashMap engineMap = (HashMap) request.getAttribute("engineMap"); String engineURL = (String) engineMap.get("engineUrl"); GenericTree treeData = (GenericTree) engineMap.get("treeData"); String levels = (String) request.getParameter("levels"); if (levels == null) { levels = "3"; } Integer flagObj = (Integer) engineMap.get("flag"); if (flagObj == null) { flagObj = new Integer(PageLoadFlags.DIRECT); } int flag = flagObj.intValue();%><%! private String drawSubTree(JahiaData jData, GenericTree tree, StringBuffer out, StringBuffer addBefore, boolean isRoot, boolean isLast, HashMap engineMap, String contextPath) throws JahiaException { if(tree == null) { return (""); } out.append("\n<table border=\"0\" cellpadding=\"0\""); out.append(" cellspacing=\"0\">\n"); out.append(" <tr>\n <td align=\"center\">"); out.append(addBefore.toString()); int size = tree.getChildren().size(); JahiaTreeViewPageWrapper page = (JahiaTreeViewPageWrapper) tree.getRoot().getData(); String iconsPath = (String) engineMap.get("iconsPath"); ImageDescriptor imgDesc = ImageDescriptor.getInstance(iconsPath); if(imgDesc == null) { System.out.println("== imgDesc is NULL =="); System.out.println("== iconsPath is : "+iconsPath); return (""); } if (isRoot) { // do nothing... } else if (isLast) { if (page.isTerminal()) { out.append(getImagePath(contextPath, ImageDescriptor.VERTICAL_END, imgDesc)); } else if (page.isExpanded()) { String img = getImagePath(contextPath, ImageDescriptor.MINUS_END, imgDesc); out.append(createFolderAnchor(img, page.getID(), false)); } else { String img = getImagePath(contextPath, ImageDescriptor.PLUS_END, imgDesc); out.append(createFolderAnchor(img, page.getID(), true)); } } else { if (page.isTerminal()) { out.append(getImagePath(contextPath, ImageDescriptor.VERTICAL_BRANCH, imgDesc)); } else if (page.isExpanded()) { String img = getImagePath(contextPath, ImageDescriptor.MINUS_BRANCH, imgDesc); out.append(createFolderAnchor(img, page.getID(), false)); } else { String img = getImagePath(contextPath, ImageDescriptor.PLUS_BRANCH, imgDesc); out.append(createFolderAnchor(img, page.getID(), true)); } } out.append("</td>\n <td align=\"left\">"); out.append("<a class=\"text\" href=\""); out.append(page.getURL()); out.append("\">"); out.append(jData.gui().glueTitle(page.getTitle(),50)); if (page.getPageType() == JahiaPage.TYPE_LINK) { out.append(" [internal link]"); } if (page.getPageType() == JahiaPage.TYPE_URL) { out.append(" [external link]"); } out.append("</a>"); out.append("</td>\n </tr>\n</table>\n"); if (page.isExpanded()) { for (int i = 0; i < size; i++) { StringBuffer add = new StringBuffer(addBefore.toString()); GenericTree child = (GenericTree) tree.getChildren().get(i); if (!isLast) { add.append(getImagePath(contextPath, ImageDescriptor.VERTICAL, imgDesc)); } else if (!isRoot) { add.append(getImagePath(contextPath, ImageDescriptor.BLANK, imgDesc)); } drawSubTree(jData, child, out, add, false, ((i+1) == size), engineMap, contextPath); } } return out.toString(); } private String createFolderAnchor(String img, int catId, boolean plus) { StringBuffer out = new StringBuffer(); out.append("<a href=\"javascript:modifyView('"); out.append(Integer.toString(catId)); out.append("', '"); if (plus) { out.append("expand'"); } else { out.append("collapse'"); } out.append(")\">"); out.append(img); out.append("</a>"); return out.toString(); } private String getImagePath(String contextPath, String img, ImageDescriptor imgDesc) { StringBuffer buf = new StringBuffer(); buf.append("<img border=\"0\" width=\""); buf.append(imgDesc.getImageWidth()); buf.append("\" height=\""); buf.append(imgDesc.getImageHeight()); buf.append("\" src=\""); buf.append(contextPath); buf.append("/images/"); buf.append(imgDesc.getImageName(img)); buf.append("\">"); return buf.toString(); }%><html><head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>JahiaIntranet : Site Map</title> <script language="javascript" src="<%=jData.params().settings().getJsHttpPath()%>"></script> <script language="javascript"> function modifyView( pid, action ) { document.mainForm.method = "POST"; document.mainForm.action = '<%=engineURL%>&modif='+action+'&pageid='+pid; document.mainForm.submit(); } function sendForm() { document.mainForm.method = "POST"; document.mainForm.action = '<%=engineURL%>&changed=true'; document.mainForm.submit(); } </script> <link rel="stylesheet" href="<%=theURL%>/jahia.css" type="text/css"> <link rel="stylesheet" href="<%=theURL%>/application.css" type="text/css"></head><body class="text" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"><table width="100%" height="72" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="198" height="72"><img src="<%=theURL%>/images/header.gif" width="198" height="72"></td> <td height="72" width="100%" background="<%=theURL%>/images/header_bg.gif" valign="bottom"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td <% if (NS4) { %>background="<%=theURL%>/images/pix.gif"<% } %>valign="top"> <%@include file="include/search.jsp"%> <img src="<%=theURL%>/images/pix.gif" width="1" height="2" ></td> </tr> <tr> <td width="530"<% if (NS4) { %>background="<%=theURL%>/images/pix.gif"<% } %>> <% if (!jData.gui().html().drawLogoutLauncher().equals("")) { %> <a href="<%=jData.gui().html().drawLogoutLauncher()%>" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('logout','','<%=theURL%>/images/logout_on.gif',1)"><img name="logout" src="<%=theURL%>/images/logout_off.gif" width="69" height="17" border="0"></a> <% } else { %> <a href="javascript:<%=jData.gui().html().drawLoginLauncher()%>" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('login','','<%=theURL%>/images/login_on.gif',1)"><img name="login" src="<%=theURL%>/images/login_off.gif" width="69" height="17" border="0"></a> <% } %> <% if (jData.page().checkAdminAccess(jData.params().getUser())) { %> <a href="<%=jData.gui().html().drawAdministrationLauncher()%>" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('admin','','<%=theURL%>/images/admin_on.gif',1)"><img name="admin" src="<%=theURL%>/images/admin_off.gif" width="107" height="17" border="0"></a> <% } %> <img src="<%=theURL%>/images/pix.gif" width="530" height="1" ></td> </tr> </table> </td> </tr></table><br><br><table width="100%" border="0" cellspacing="0" cellpadding="0" align="center"> <form name="mainForm" method="POST" action="<%=engineURL%>"> <tr> <td width="10%"> </td> <td width="90%" class="text" align="center"> <table width="100%" border="0" cellspacing="0" cellpadding="0" align="center"> <tr> <td align="left"> <span class="title">Jahia Site Map</span> <br><br> </td> <td> <table border="0" cellspacing="0" cellpadding="2"> <tr valign="middle"> <td class="input" > Display level depth: </td> <td align="left"> <input class="input" type="text" size="2" name="levels" value="<%=levels%>"> </td> <td rowspan="3"><img align="left" src="<%=theURL%>/images/pix.gif" width="5" height="1"></td> </tr> <tr> <td class="input"> Show page types: </td> <td> <select class="input" name="flag"> <option value="<%=PageLoadFlags.DIRECT %>"<% if (flag == PageLoadFlags.DIRECT) { %> selected <% } %>> Direct pages only <option value="<%=PageLoadFlags.JAHIA %>"<% if (flag == PageLoadFlags.JAHIA) { %> selected <% } %>> Internal links <option value="<%=PageLoadFlags.ALL %>"<% if (flag == PageLoadFlags.ALL) { %> selected <% } %>> Internal and external links </select> </td> </tr> <tr> <td> </td> <td> <a href="javascript:sendForm();"><img src="<%=theURL%>/images/update_off.gif" width="39" height="11" border="0"></a> <input type="hidden" name="levelsChanged" value="false"> </td> </tr> </table> </td> </tr> <tr> <td width="50%" align="center" valign="top"> <table border="0" cellspacing="0" cellpadding="0" width="100%"> <tr> <td height="1"> <img align="left" src="<%=theURL%>/images/pix.gif" width="1" height="1"> </td> </tr> <tr> <td class="text"> <!-- start dynamic sitemap display --> <%=drawSubTree(jData, treeData, new StringBuffer(), new StringBuffer(), true, true, engineMap, theURL)%> <!-- end dynamic sitemap display --> </td> </tr> <tr> <td class="text" valign="top" align="center"> <br> <a href="<%=jData.params().getPage().getURL()%>" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('back','','<%=theURL%>/images/back_on.gif',1)"> <img name="back" src="<%=theURL%>/images/back_off.gif" width="101" height="17" border="0"> </a> </td> </tr> </table> </td> <td width="50%" align="left"> <img src="<%=theURL%>/images/flight2.gif" width="218" height="519" alt="Jahia Site Map"> </td> </tr> </table> </td> </tr> </form></table></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -