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

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

Introduction

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

Prototype

public void forceBlock() throws JspException 

Source Link

Document

Indicate that the currently open tag should be closed and marked as a block level element.

Usage

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

/**
 * Writes the opening '// w  w w.j  a  va  2 s  .c  om
 * <code>p</code>' tag and forces a block tag so that field prefix/suffix is
 * written correctly.
 */
public static void writeInputTagHelpBlock(final TagWriter tagWriter, final String text) throws JspException {
    if (StringUtils.hasText(text)) {
        tagWriter.startTag("p");
        tagWriter.writeAttribute("class", "help-block");
        tagWriter.appendValue(text);
        tagWriter.endTag();
        tagWriter.forceBlock();
    }
}

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

/**
 * Writes the opening '//w w  w .  ja va2 s  .c  o m
 * <code>span</code>' tag and forces a block tag so that field prefix/suffix
 * is written correctly.
 */
public static void writeInputTagDecorator(final TagWriter tagWriter, final String text) throws JspException {
    if (StringUtils.hasText(text)) {
        tagWriter.startTag("span");
        tagWriter.writeAttribute("class", "input-group-addon");
        tagWriter.appendValue(text);
        tagWriter.endTag();
        tagWriter.forceBlock();
    }
}

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

@Override
protected void postStartTagInternal(TagWriter writer) {
    super.postStartTagInternal(writer);
    try {/*from  w  w  w.j  av  a  2 s. c om*/
        writer.forceBlock();
    } catch (JspException e) {
        e.printStackTrace();
    }
}

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

@Override
protected int writeTagContent(TagWriter tagWriter) throws JspException {
    tagWriter.startTag("div");
    tagWriter.writeAttribute("class", "row");

    writeLabelTagContent(tagWriter);/*from w  w w .  j  a  v a 2  s.  c o m*/
    tagWriter.startTag("output");
    tagWriter.writeAttribute("class", this.getCssClass());
    tagWriter.forceBlock();
    this.tagWriter = tagWriter;
    return EVAL_BODY_INCLUDE;
}

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

/**
 * Writes the opening '<code>label</code>' tag and forces a block tag so
 * that body content is written correctly.
 *//*from  w w  w.j av a  2  s .c  om*/
protected void writeLabelTagContent(TagWriter tagWriter) throws JspException {
    String labelText = this.getRequestContext().getMessage(this.label, this.label);
    tagWriter.startTag("label");
    tagWriter.writeAttribute("for", autogenerateFor());
    tagWriter.writeAttribute("class", "control-label");
    tagWriter.appendValue(labelText);
    tagWriter.endTag();
    tagWriter.forceBlock();
}

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

/**
 * Writes the opening '<code>label</code>' tag and forces a block tag so
 * that body content is written correctly.
 *//* w ww.  j av  a  2 s.  c  o  m*/
protected void writeLabelTagContent(TagWriter tagWriter) throws JspException {
    String labelText = this.getRequestContext().getMessage(this.label, this.label);
    tagWriter.startTag("label");
    tagWriter.writeAttribute("for", autogenerateFor());
    StringBuilder cssClass = new StringBuilder("form-control-label");
    if (StringUtils.hasText(this.labelCssClass)) {
        cssClass.append(' ').append(this.labelCssClass);
    }
    tagWriter.writeAttribute("class", cssClass.toString());
    tagWriter.appendValue(labelText);
    tagWriter.endTag();
    tagWriter.forceBlock();
}

From source file:com.benfante.taglib.frontend.tags.InputTag.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   www  . j  a  v a  2 s  . c  o m*/
        tagWriter.writeAttribute("class", "form-group");
    }
    tagWriter.startTag("div");
    tagWriter.writeAttribute("class", "row");

    writeLabelTagContent(tagWriter);
    tagWriter.startTag("div");
    String controlsContainerClasses = extractControlContainerClasses();
    tagWriter.writeAttribute("class", controlsContainerClasses);
    if (StringUtils.hasText(prefix) || StringUtils.hasText(suffix) || StringUtils.hasText(help)) {
        tagWriter.startTag("div");
        tagWriter.writeAttribute("class", "input-group");
    }
    if (StringUtils.hasText(prefix)) {
        tagWriter.startTag("span");
        tagWriter.writeAttribute("class", "input-group-addon");
        tagWriter.appendValue(prefix);
        tagWriter.endTag();
        tagWriter.forceBlock();
    }
    addCssToControl();
    super.writeTagContent(tagWriter);
    if (StringUtils.hasText(suffix)) {
        tagWriter.startTag("span");
        tagWriter.writeAttribute("class", "input-group-addon");
        tagWriter.writeAttribute("style",
                "border-top-right-radius: .25rem; border-bottom-right-radius: .25rem; border-left: 0;");
        tagWriter.appendValue(suffix);
        tagWriter.endTag();
        tagWriter.forceBlock();
    }

    // Help Tooltip
    if (StringUtils.hasText(help)) {
        String labelText = this.getRequestContext().getMessage(this.label, this.label);
        tagWriter.startTag("a");
        tagWriter.writeAttribute("class", "");
        tagWriter.writeAttribute("role", "button");
        tagWriter.writeAttribute("tabindex", "0");
        tagWriter.writeAttribute("style",
                "display: table-cell; 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();
    }

    if (StringUtils.hasText(prefix) || StringUtils.hasText(suffix) || StringUtils.hasText(help)) {
        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" + " " + controlsContainerClasses);
        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;
}

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

/**
 * Writes the opening part of the block   '<code>form</code>' tag and exposes
 * the form object name in the {@link javax.servlet.jsp.PageContext}.
 * @param tagWriter the {@link TagWriter} to which the form content is to be written
 * @return {@link javax.servlet.jsp.tagext.Tag#EVAL_BODY_INCLUDE}
 *//*from  www.j a  v  a 2  s.c  o  m*/
@Override
protected int writeTagContent(TagWriter tagWriter) throws JspException {
    this.tagWriter = tagWriter;

    tagWriter.startTag(FORM_TAG);
    writeDefaultAttributes(tagWriter);
    tagWriter.writeAttribute(ACTION_ATTRIBUTE, resolveAction());
    writeOptionalAttribute(tagWriter, METHOD_ATTRIBUTE,
            isMethodBrowserSupported(getMethod()) ? getMethod() : DEFAULT_METHOD);
    writeOptionalAttribute(tagWriter, TARGET_ATTRIBUTE, getTarget());
    writeOptionalAttribute(tagWriter, ENCTYPE_ATTRIBUTE, getEnctype());
    writeOptionalAttribute(tagWriter, ACCEPT_CHARSET_ATTRIBUTE, getAcceptCharset());
    writeOptionalAttribute(tagWriter, ONSUBMIT_ATTRIBUTE, getOnsubmit());
    writeOptionalAttribute(tagWriter, ONRESET_ATTRIBUTE, getOnreset());
    writeOptionalAttribute(tagWriter, AUTOCOMPLETE_ATTRIBUTE, getAutocomplete());

    tagWriter.forceBlock();

    if (!isMethodBrowserSupported(getMethod())) {

        String composedValue = dataComposer.compose(getMethodParameter(), getMethod(), false);

        tagWriter.startTag(INPUT_TAG);
        writeOptionalAttribute(tagWriter, TYPE_ATTRIBUTE, "hidden");
        writeOptionalAttribute(tagWriter, NAME_ATTRIBUTE, getMethodParameter());
        writeOptionalAttribute(tagWriter, VALUE_ATTRIBUTE, composedValue);
        tagWriter.endTag();
    }

    // Expose the form object name for nested tags...
    String modelAttribute = resolveModelAttribute();
    this.pageContext.setAttribute(MODEL_ATTRIBUTE_VARIABLE_NAME, modelAttribute, PageContext.REQUEST_SCOPE);
    this.pageContext.setAttribute(COMMAND_NAME_VARIABLE_NAME, modelAttribute, PageContext.REQUEST_SCOPE);

    // Save previous nestedPath value, build and expose current nestedPath value.
    // Use request scope to expose nestedPath to included pages too.
    this.previousNestedPath = (String) this.pageContext.getAttribute(NESTED_PATH_VARIABLE_NAME,
            PageContext.REQUEST_SCOPE);
    this.pageContext.setAttribute(NESTED_PATH_VARIABLE_NAME,
            modelAttribute + PropertyAccessor.NESTED_PROPERTY_SEPARATOR, PageContext.REQUEST_SCOPE);

    return EVAL_BODY_INCLUDE;
}

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

/**
 * Renders the HTML '<code>select</code>' tag to the supplied
 * {@link TagWriter}./*from   w  w w.  ja  v a  2  s  .c  om*/
 * <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 w  w .  j  ava  2 s  .  c  o  m
        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;
}