checkboxtag.java

来自「OA典型例子」· Java 代码 · 共 60 行

JAVA
60
字号
/*
 * $Id: CheckboxTag.java,v 1.1 2001/10/21 04:46:04 gmurray Exp $
 * Copyright 2001 Sun Microsystems, Inc. All rights reserved.
 */

package com.sure.taglibs.smart;

import javax.servlet.jsp.JspTagException;
import javax.servlet.jsp.tagext.BodyTagSupport;
import javax.servlet.jsp.tagext.BodyContent;

import java.io.IOException;
import java.lang.StringBuffer;

/**
 * HTML 'input' tag. Use with NameTag and ValueTag.
 */
public class CheckboxTag extends BodyTagSupport {

    private String value;
    private String name;
    private boolean checked = true;


    public void setName(String name) {
        this.name = name;
    }

    public void setValue(String value) {
        this.value = value;
    }

    public void setChecked(boolean checked) {
        this.checked = checked;
    }

    public int doStartTag() throws JspTagException {
        return EVAL_BODY_BUFFERED;
    }

    public int doEndTag() throws JspTagException {
        try {
            FormTag tag
                = (FormTag) findAncestorWithClass(this, FormTag.class);

            StringBuffer html = new StringBuffer();
            html.append("<input type=\"checkbox\"");
            html.append(name != null ? (" name=\"" + name + "\"") : "");
            html.append(value != null ? (" value=\"" + value + "\"") : "");
            if (!checked) html.append(" checked");
            html.append(">");
            pageContext.getOut().print(html.toString());
            return EVAL_PAGE;
        }
        catch (IOException e) {
            throw new JspTagException("CheckboxTag: " + e.getMessage());
        }
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?