📄 altrowtag.java
字号:
/* * Copyright (C) butor.com. All rights reserved. * * This software is published under the terms of the GNU Library General * Public License (GNU LGPL), a copy of which has been included with this * distribution in the LICENSE.txt file. */package org.butor.web.taglib.html;import java.io.IOException;import javax.servlet.jsp.JspException;import javax.servlet.jsp.JspWriter;import javax.servlet.jsp.tagext.Tag;import javax.servlet.jsp.tagext.TagSupport;import org.apache.struts.taglib.logic.IterateTag;/** * This tag renders an HTML <TR> with alternating * style class. This tag must be nested into an IterateTag. * * @author mateusfi */public class AltRowTag extends TagSupport { // Default values protected String f_evenStyleClass = "even"; protected String f_oddStyleClass = "odd"; /** * Reference to the parent IterateTag. */ protected IterateTag f_iterateParent; /** * @see Tag#doEndTag() */ public int doEndTag() throws JspException { if (f_iterateParent == null) { return EVAL_PAGE; } try { JspWriter jspWriter = pageContext.getOut(); jspWriter.println("</tr>"); } catch (IOException e) { throw new JspException(e); } return EVAL_PAGE; } /** * @see Tag#doStartTag() */ public int doStartTag() throws JspException { if (f_iterateParent == null) { f_iterateParent = findParentIterateTag(); } try { JspWriter jspWriter = pageContext.getOut(); if (f_iterateParent != null) { jspWriter.print("<tr class="); int index = f_iterateParent.getIndex(); if ((index % 2) == 0) { jspWriter.print("\"" + getEvenStyleClass() + "\""); } else { jspWriter.print("\"" + getOddStyleClass() + "\""); } jspWriter.print(">\n"); } else { jspWriter.print("Can't find parent IterateTag"); return SKIP_BODY; } } catch (IOException e) { throw new JspException(e); } return EVAL_BODY_INCLUDE; } /** * Browse through all the parent chain and try to find an IterateTag. * * @return the IterateTag parent, or null if not found. */ protected IterateTag findParentIterateTag() { Tag parent = getParent(); while (parent !=null && !(parent instanceof IterateTag)) { parent = parent.getParent(); } return (IterateTag)parent; } public String getEvenStyleClass() { return f_evenStyleClass; } public void setEvenStyleClass(String evenStyleClass) { f_evenStyleClass = evenStyleClass; } public String getOddStyleClass() { return f_oddStyleClass; } public void setOddStyleClass(String oddStyleClass) { f_oddStyleClass = oddStyleClass; } /** * @see Tag#release() */ public void release() { f_iterateParent = null; f_evenStyleClass = null; f_oddStyleClass = null; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -