📄 hierarchynodetag.java
字号:
/* * CyberTester - J2EE Web application for creating, delivering and managing tests/exams/surveys. * Copyright (C) 2004 CyberDemia Research and Services Pty Ltd * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program (see the file COPYING); if not, write to the * Free Software Foundation, Inc., * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * See the COPYING file located in the top-level-directory of * the archive of this program for complete text of license. */package com.cyberdemia.cybertester.tag;import java.util.Iterator;import java.util.List;import javax.servlet.jsp.JspException;import javax.servlet.jsp.JspTagException;import javax.servlet.jsp.JspWriter;import javax.servlet.jsp.tagext.TagSupport;import org.apache.taglibs.standard.lang.support.ExpressionEvaluatorManager;import com.cyberdemia.cybertester.admin.AdminConstants;import com.cyberdemia.school.IHierarchy;import com.cyberdemia.school.SchoolUtils;import com.cyberdemia.util.StringUtils;/** * HierarchyNodeTag renders the full path to the current hierarchy node * that is stored as a session attribute. * * @author Alexander Yap * @version $Revision: 1.3 $ at $Date: 2004/06/12 12:52:16 $ by $Author: alexycyap $ */public class HierarchyNodeTag extends TagSupport{ public int doStartTag() throws JspException { try { String currentHierId = m_hierNodeId; if (currentHierId==null) { currentHierId = (String)pageContext.getSession().getAttribute(AdminConstants.SELECTED_HIERARCHY_ID_KEY); } if (currentHierId!=null) { IHierarchy currentHierNode = SchoolUtils.getNodeFromHierarchyId(currentHierId); List hierPathElemList = SchoolUtils.getHierarchyNodeList(currentHierNode ); JspWriter outWriter = pageContext.getOut(); outWriter.println("<table width=\"100%\" class=\"viewer\" >"); Iterator hierPathElemIter = hierPathElemList.iterator(); while (hierPathElemIter.hasNext()) { IHierarchy node = (IHierarchy)hierPathElemIter.next(); outWriter.print("<tr>"); outWriter.print("<th class=\"label\" width=\"1%\">"); outWriter.print( StringUtils.escapeHTML(node.getType(),true)); outWriter.print("</th><td class=\"value\" width=\"99%\">"); outWriter.print( StringUtils.escapeHTML(node.getName(),true)); outWriter.println("</td></tr>"); } outWriter.println("</table>"); } } catch (Exception ex) { throw new JspTagException("HierarchyNodeTag : "+ex.getMessage()); } return SKIP_BODY; } public void setHierarchyNodeId(String hierIdExpr) { try { m_hierNodeId = ExpressionEvaluatorManager.evaluate("hierarchyNodeId", hierIdExpr, String.class, this, pageContext).toString(); } catch (JspException ex) { m_hierNodeId = null; } } private String m_hierNodeId=null;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -