Example usage for org.springframework.web.servlet.tags.form TagWriter writeOptionalAttributeValue

List of usage examples for org.springframework.web.servlet.tags.form TagWriter writeOptionalAttributeValue

Introduction

In this page you can find the example usage for org.springframework.web.servlet.tags.form TagWriter writeOptionalAttributeValue.

Prototype

public void writeOptionalAttributeValue(String attributeName, @Nullable String attributeValue)
        throws JspException 

Source Link

Document

Write an HTML attribute if the supplied value is not null or zero length.

Usage

From source file:com.jigsforjava.web.tags.LinkTag.java

@Override
protected int writeTagContents(TagWriter tagWriter) throws Exception {
    tagWriter.writeAttribute(HREF_ATTRIBUTE, toUrl());
    tagWriter.writeOptionalAttributeValue(TARGET_ATTRIBUTE, getTarget());
    return EVAL_BODY_INCLUDE;
}

From source file:com.jigsforjava.web.tags.ImageTag.java

@Override
protected int writeTagContents(TagWriter tagWriter) throws Exception {
    tagWriter.writeAttribute(SRC_ATTRIBUTE, getRequestContext().getContextPath() + getSrc());
    tagWriter.writeOptionalAttributeValue(ALT_ATTRIBUTE, getAlt());
    return SKIP_BODY;
}

From source file:com.jigsforjava.web.tags.form.FormTag.java

@Override
protected int writeTagContents(TagWriter tagWriter) throws Exception {
    tagWriter.writeAttribute(ACTION_ATTRIBUTE, toUrl());
    tagWriter.writeOptionalAttributeValue(METHOD_ATTRIBUTE, getMethod());
    tagWriter.writeOptionalAttributeValue(TARGET_ATTRIBUTE, getTarget());
    tagWriter.writeOptionalAttributeValue(ENCTYPE_ATTRIBUTE, getEnctype());
    tagWriter.writeOptionalAttributeValue(ACCEPT_CHARSET_ATTRIBUTE, getAcceptCharset());
    tagWriter.writeOptionalAttributeValue(ONSUBMIT_ATTRIBUTE, getOnsubmit());
    tagWriter.writeOptionalAttributeValue(ONRESET_ATTRIBUTE, getOnreset());
    tagWriter.writeOptionalAttributeValue(AUTOCOMPLETE_ATTRIBUTE, getAutocomplete());
    return EVAL_BODY_INCLUDE;
}

From source file:com.jigsforjava.web.tags.HtmlTag.java

private void writeAttributes(TagWriter tagWriter) throws JspException {
    tagWriter.writeOptionalAttributeValue(ONCLICK_ATTRIBUTE, getOnclick());
    tagWriter.writeOptionalAttributeValue(ID_ATTRIBUTE, getId());
    tagWriter.writeOptionalAttributeValue(NAME_ATTRIBUTE, getName());
    tagWriter.writeOptionalAttributeValue(CLASS_ATTRIBUTE, getCssClass());
    tagWriter.writeOptionalAttributeValue(STYLE_ATTRIBUTE, getCssStyle());
    tagWriter.writeOptionalAttributeValue(TITLE_ATTRIBUTE, getTitle());
    tagWriter.writeOptionalAttributeValue(TABINDEX_ATTRIBUTE, getTabindex());
    tagWriter.writeOptionalAttributeValue(ONCLICK_ATTRIBUTE, getOnclick());
    tagWriter.writeOptionalAttributeValue(ONDBLCLICK_ATTRIBUTE, getOndblclick());
    tagWriter.writeOptionalAttributeValue(ONMOUSEDOWN_ATTRIBUTE, getOnmousedown());
    tagWriter.writeOptionalAttributeValue(ONMOUSEUP_ATTRIBUTE, getOnmouseup());
    tagWriter.writeOptionalAttributeValue(ONMOUSEOVER_ATTRIBUTE, getOnmouseover());
    tagWriter.writeOptionalAttributeValue(ONMOUSEMOVE_ATTRIBUTE, getOnmousemove());
    tagWriter.writeOptionalAttributeValue(ONMOUSEOUT_ATTRIBUTE, getOnmouseout());
    tagWriter.writeOptionalAttributeValue(ONKEYPRESS_ATTRIBUTE, getOnkeypress());
    tagWriter.writeOptionalAttributeValue(ONKEYUP_ATTRIBUTE, getOnkeyup());
    tagWriter.writeOptionalAttributeValue(ONKEYDOWN_ATTRIBUTE, getOnkeydown());
}

From source file:org.hdiv.web.servlet.tags.form.SelectTagHDIV.java

/**
 * Renders the HTML '<code>select</code>' tag to the supplied
 * {@link TagWriter}.// w ww.  java2 s  . com
 * <p>Renders nested '<code>option</code>' tags if the
 * {@link #setItems items} property is set, otherwise exposes the
 * bound value for the nested {@link OptionTag OptionTags}.
 */
@Override
protected int writeTagContent(TagWriter tagWriter) throws JspException {

    dataComposer = (IDataComposer) this.pageContext.getRequest().getAttribute(TagUtils.DATA_COMPOSER);
    dataComposer.compose(this.getName(), "", false);

    tagWriter.startTag("select");
    writeDefaultAttributes(tagWriter);
    if (isMultiple()) {
        tagWriter.writeAttribute("multiple", "multiple");
    }
    tagWriter.writeOptionalAttributeValue("size", getDisplayString(evaluate("size", getSize())));

    Object items = getItems();
    if (items != null) {
        // Items specified, but might still be empty...
        if (items != EMPTY) {
            Object itemsObject = evaluate("items", items);
            if (itemsObject != null) {

                String valueProperty = (getItemValue() != null
                        ? ObjectUtils.getDisplayString(evaluate("itemValue", getItemValue()))
                        : null);
                String labelProperty = (getItemLabel() != null
                        ? ObjectUtils.getDisplayString(evaluate("itemLabel", getItemLabel()))
                        : null);

                OptionWriterHDIV optionWriter = new OptionWriterHDIV(dataComposer, this.getName(), itemsObject,
                        getBindStatus(), valueProperty, labelProperty, isHtmlEscape());
                optionWriter.writeOptions(tagWriter);
            }
        }
        tagWriter.endTag(true);
        writeHiddenTagIfNecessary(tagWriter);
        return SKIP_BODY;
    } else {
        // Using nested <form:option/> tags, so just expose the value in the PageContext...
        tagWriter.forceBlock();
        this.tagWriter = tagWriter;
        this.pageContext.setAttribute(LIST_VALUE_PAGE_ATTRIBUTE, getBindStatus());
        return EVAL_BODY_INCLUDE;
    }
}

From source file:com.benfante.taglib.frontend.tags.CheckboxTag.java

@Override
protected int writeTagContent(TagWriter tagWriter) throws JspException {
    tagWriter.startTag("div");
    if (this.getBindStatus().isError()) {
        tagWriter.writeAttribute("class", "form-group has-danger");
    } else {//from   w  ww  .j av  a2  s  .c om
        tagWriter.writeAttribute("class", "form-group");
    }
    tagWriter.startTag("div");
    tagWriter.writeAttribute("class", "row");

    tagWriter.startTag("div");
    tagWriter.writeAttribute("class", "checkbox " + this.getCssClass());
    String labelText = null;
    try {
        labelText = this.getRequestContext().getMessage(getLabel().toString());
    } catch (NoSuchMessageException nsme) {
        Object resolvedLabel = evaluate("label", getLabel());
        if (resolvedLabel != null) {
            labelText = convertToDisplayString(resolvedLabel);
        }
    }

    String id = resolveId();
    tagWriter.startTag("label");
    tagWriter.writeAttribute("for", id);
    tagWriter.writeOptionalAttributeValue("class", this.getLabelCssClass());

    if (!isDisabled()) {
        // Write out the 'field was present' marker.
        tagWriter.startTag("input");
        tagWriter.writeAttribute("type", "hidden");
        tagWriter.writeAttribute("name", WebDataBinder.DEFAULT_FIELD_MARKER_PREFIX + getName());
        tagWriter.writeAttribute("value", "on");
        tagWriter.endTag();
    }

    tagWriter.startTag("input");
    writeOptionalAttribute(tagWriter, "id", id);
    writeOptionalAttribute(tagWriter, "name", getName());
    writeTagDetails(tagWriter);
    tagWriter.endTag();

    tagWriter.appendValue(labelText);
    tagWriter.endTag();
    tagWriter.forceBlock();

    // Help Tooltip
    if (StringUtils.hasText(help)) {
        tagWriter.startTag("a");
        tagWriter.writeAttribute("class", "");
        tagWriter.writeAttribute("role", "button");
        tagWriter.writeAttribute("tabindex", "0");
        tagWriter.writeAttribute("style",
                "display: inline; padding: .375rem .75rem; font-size: 1rem; font-weight: normal; line-height: 1; color: #55595c; text-align: center; width: 1%; white-space: nowrap; vertical-align: middle;");
        writeOptionalAttribute(tagWriter, "data-toggle", "popover");
        writeOptionalAttribute(tagWriter, "data-trigger", "focus");
        writeOptionalAttribute(tagWriter, "data-html", "true");
        writeOptionalAttribute(tagWriter, "title", labelText);
        writeOptionalAttribute(tagWriter, "data-content",
                this.getRequestContext().getMessage(this.getHelp(), this.getHelp()));
        tagWriter.startTag("i");
        tagWriter.writeAttribute("class", "fa fa-question-circle");
        tagWriter.endTag(true);
        tagWriter.endTag();
    }

    tagWriter.endTag();
    tagWriter.endTag();

    // Validation messages
    if (this.getBindStatus().isError()) {
        tagWriter.startTag("div");
        tagWriter.writeAttribute("class", "row");

        tagWriter.startTag("div");
        writeOptionalAttribute(tagWriter, "class", labelCssClass);
        tagWriter.endTag(true);

        tagWriter.startTag("div");
        tagWriter.writeAttribute("id", autogenerateErrorId());
        tagWriter.writeAttribute("class", "text-help" + " " + extractControlContainerClasses());
        String[] errorMessages = getBindStatus().getErrorMessages();
        if (errorMessages.length > 0) {
            if (errorMessages.length > 1) {
                tagWriter.startTag("ul");
                for (int i = 0; i < errorMessages.length; i++) {
                    String errorMessage = errorMessages[i];
                    tagWriter.startTag("li");
                    tagWriter.appendValue(getDisplayString(errorMessage));
                    tagWriter.endTag();
                }
                tagWriter.endTag();
            } else {
                tagWriter.appendValue(getDisplayString(errorMessages[0]));
            }
        }
        tagWriter.endTag();
        tagWriter.endTag();
    }

    tagWriter.endTag();
    return SKIP_BODY;
}