/** 重载方法,调整元素的输出顺序。 */ private void writeElementTag( TagWriter tagWriter, Object item, Object value, Object label, int itemIndex) throws JspException { String id = resolveId(); String resolvedLabelClass = getInputType(); if (labelCssClass != null) { resolvedLabelClass += " " + labelCssClass; } tagWriter.startTag("label"); tagWriter.writeAttribute("for", id); tagWriter.writeAttribute("class", resolvedLabelClass); if (itemIndex > 0) { Object resolvedDelimiter = evaluate("delimiter", getDelimiter()); if (resolvedDelimiter != null) { tagWriter.appendValue(resolvedDelimiter.toString()); } } tagWriter.startTag("input"); writeOptionalAttribute(tagWriter, "id", id); writeOptionalAttribute(tagWriter, "name", getName()); writeOptionalAttributes(tagWriter); tagWriter.writeAttribute("type", getInputType()); renderFromValue(item, value, tagWriter); tagWriter.endTag(); tagWriter.appendValue(convertToDisplayString(label)); tagWriter.endTag(); }
/** * writes the message tag. * * <p>If {@link #innerElement} is specified, the tag specified in it will be applied around the * message.<br> * * @param tagWriter a TagWriter instance * @param message message * @throws JspException Occurs when {@link JspTagException} occurs in case when nothing is set in * the configuration of the tag that configures messagesPanel using tagWriter. */ protected void writeMessage(TagWriter tagWriter, Object message) throws JspException { if (message != null) { if (StringUtils.hasText(innerElement)) { tagWriter.startTag(innerElement); // <li> } if (disableHtmlEscape) { tagWriter.appendValue(getText(message)); } else { tagWriter.appendValue(HtmlEscapeUtils.htmlEscape(getText(message))); } if (StringUtils.hasText(innerElement)) { tagWriter.endTag(); // </li> } } }
@Override protected void renderDefaultContent(TagWriter tagWriter) throws JspException { String[] errorMessages = getBindStatus().getErrorMessages(); if (CollectionUtils.size(errorMessages) > 1) { tagWriter.startTag(getElement()); writeDefaultAttributes(tagWriter); for (String errorMessage : errorMessages) { tagWriter.startTag("li"); tagWriter.appendValue(errorMessage); tagWriter.endTag(); } tagWriter.endTag(); } else { tagWriter.startTag("span"); for (String errorMessage : errorMessages) { tagWriter.appendValue(errorMessage); } tagWriter.endTag(); } }
@Override protected void writeInputContent(TagWriter tagWriter) throws JspException { tagWriter.startTag("textarea"); if (isAutoValidate() || getValidConf() != null) { writeOptionalAttribute(tagWriter, ATTR_VALID_CONF, getValidConf()); setOnblur("validateEventHandler();"); } writeDefaultAttributes(tagWriter); writeOptionalAttribute(tagWriter, ROWS_ATTRIBUTE, getRows()); writeOptionalAttribute(tagWriter, COLS_ATTRIBUTE, getCols()); writeOptionalAttribute(tagWriter, ONSELECT_ATTRIBUTE, getOnselect()); tagWriter.appendValue(getDisplayString(getBoundValue(), getPropertyEditor())); tagWriter.endTag(); }