List of usage examples for org.springframework.web.servlet.tags.form TagWriter forceBlock
public void forceBlock() throws JspException
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; }