⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 checkboxtag.java

📁 天乙社区6.0是一套基于JAVA技术的网络虚拟社区
💻 JAVA
字号:
package com.laoer.bbscs.web.tag;

import javax.servlet.jsp.JspException;
import org.apache.struts.util.MessageResources;
import org.apache.struts.util.RequestUtils;
import org.apache.struts.util.ResponseUtils;
import org.apache.struts.taglib.html.*;

/**
 * <p>Title: TianYi BBS</p>
 * <p>Description: TianYi BBS System</p>
 * <p>Copyright: Copyright (c) 2004</p>
 * <p>Company: LAOER.COM/TIANYISOFT.NET</p>
 * @author laoer
 * @version 6.0
 */

public class CheckboxTag
    extends BaseHandlerTag {
  // ----------------------------------------------------- Instance Variables


  /**
   * The message resources for this package.
   */
  protected static MessageResources messages =
      MessageResources.getMessageResources(Constants.Package + ".LocalStrings");

  /**
   * The name of the bean containing our underlying property.
   */
  protected String name = Constants.BEAN_KEY;

  public String getName() {
    return (this.name);
  }

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

  /**
   * The property name for this field.
   */
  protected String property = null;

  /**
   * The body content of this tag (if any).
   */
  protected String text = null;

  /**
   * The server value for this option.
   */
  protected String value = null;
  private String checkedvalues = null;
  private String propertys = null;

  // ------------------------------------------------------------- Properties


  /**
   * Return the property name.
   */
  public String getProperty() {

    return (this.property);

  }

  /**
   * Set the property name.
   *
   * @param property The new property name
   */
  public void setProperty(String property) {

    this.property = property;

  }

  /**
   * Return the server value.
   */
  public String getValue() {

    return (this.value);

  }

  /**
   * Set the server value.
   *
   * @param value The new server value
   */
  public void setValue(String value) {

    this.value = value;

  }

  // --------------------------------------------------------- Public Methods


  /**
   * Generate the required input tag.
   * <p>
   * Support for indexed property since Struts 1.1
   *
   * @exception JspException if a JSP exception has occurred
   */
  public int doStartTag() throws JspException {

    // Create an appropriate "input" element based on our parameters
    StringBuffer results = new StringBuffer("<input type=\"checkbox\"");
    results.append(" name=\"");
    // * @since Struts 1.1
    if (indexed) {
      prepareIndex(results, name);
    }
    results.append(this.property);
    results.append("\"");
    if (accesskey != null) {
      results.append(" accesskey=\"");
      results.append(accesskey);
      results.append("\"");
    }
    if (tabindex != null) {
      results.append(" tabindex=\"");
      results.append(tabindex);
      results.append("\"");
    }

    if (checkedvalues == null) { //add
      if (propertys == null) { //add
        results.append(" value=\"");
        if (value == null) {
          results.append("on");
        }
        else {
          results.append(value);
        }
        results.append("\"");
        Object result = RequestUtils.lookup(pageContext, name,
                                            property, null);
        if (result == null) {
          result = "";
        }
        if (! (result instanceof String)) {
          result = result.toString();
        }
        String checked = (String) result;
        if (checked.equalsIgnoreCase(value)
            || checked.equalsIgnoreCase("true")
            || checked.equalsIgnoreCase("yes")
            || checked.equalsIgnoreCase("on")) {
          results.append(" checked=\"checked\"");
        }
      } //add
      else {
        results.append(" value=\"");
        Object _value = RequestUtils.lookup(pageContext, name, propertys, null);
        if (_value == null) {
          results.append("on");
        }
        else {
          results.append(_value);
        }
        results.append("\"");
      }
    } //add
    else {
      if (propertys == null) {
        results.append(" value=\"");
        if (value == null) {
          results.append("on");
        }
        else {
          results.append(value);
        }
        results.append("\"");
        Object result = RequestUtils.lookup(pageContext, name,
                                            property, null);
        if (result == null) {
          result = "";
        }
        if (! (result instanceof String)) {
          result = result.toString();
        }
        String checked = (String) result;
        if (checked.equalsIgnoreCase(value)
            || checked.equalsIgnoreCase("true")
            || checked.equalsIgnoreCase("yes")
            || checked.equalsIgnoreCase("on")) {
          results.append(" checked=\"checked\"");
        }

      }
      else {
        results.append(" value=\"");
        Object _value = RequestUtils.lookup(pageContext, name, propertys, null);
        if (_value == null) {
          results.append("on");
        }
        else {
          results.append(_value);
        }
        results.append("\"");
        Object _checkedvalues = RequestUtils.lookup(pageContext, checkedvalues,
            "request");
        if (_checkedvalues != null) {
          if (_checkedvalues instanceof long[]) {
            long[] __checkedvalues = (long[]) _checkedvalues;
            for (int i = 0; i < __checkedvalues.length; i++) {
              if (_value != null) {
                if (__checkedvalues[i] == ( (Long) _value).longValue()) {
                  results.append(" checked=\"checked\"");
                }
              }
            }
          }
        }
      }
    }

    results.append(prepareEventHandlers());
    results.append(prepareStyles());
    results.append(getElementClose());

    // Print this field to our output writer
    ResponseUtils.write(pageContext, results.toString());

    // Continue processing this page
    this.text = null;
    //return (EVAL_BODY_TAG);
    return (EVAL_BODY_BUFFERED);

  }

  /**
   * Save the associated label from the body content.
   *
   * @exception JspException if a JSP exception has occurred
   */
  public int doAfterBody() throws JspException {

    if (bodyContent != null) {
      String value = bodyContent.getString().trim();
      if (value.length() > 0) {
        text = value;
      }
    }
    return (SKIP_BODY);

  }

  /**
   * Process the remainder of this page normally.
   *
   * @exception JspException if a JSP exception has occurred
   */
  public int doEndTag() throws JspException {

    // Render any description for this checkbox
    if (text != null) {
      ResponseUtils.write(pageContext, text);

      // Evaluate the remainder of this page
    }
    return (EVAL_PAGE);

  }

  /**
   * Release any acquired resources.
   */
  public void release() {

    super.release();
    name = Constants.BEAN_KEY;
    property = null;
    text = null;
    value = null;

  }

  public String getCheckedvalues() {
    return checkedvalues;
  }

  public void setCheckedvalues(String checkedvalues) {
    this.checkedvalues = checkedvalues;
  }

  public String getPropertys() {
    return propertys;
  }

  public void setPropertys(String propertys) {
    this.propertys = propertys;
  }

}

⌨️ 快捷键说明

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