Java 类org.springframework.web.servlet.tags.form.TagWriter 实例源码

项目:g2    文件:BSCheckboxesTag.java   
@Override
protected int writeTagContent(TagWriter tagWriter) throws JspException {
    super.writeTagContent(tagWriter);

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

    return SKIP_BODY;
}
项目:g2    文件:BSAbstractMultiCheckedElementTag.java   
/**
 * Copy & Paste, 无修正.
 */
private void writeObjectEntry(TagWriter tagWriter, String valueProperty, String labelProperty, Object item,
        int itemIndex) throws JspException {

    BeanWrapper wrapper = PropertyAccessorFactory.forBeanPropertyAccess(item);
    Object renderValue;
    if (valueProperty != null) {
        renderValue = wrapper.getPropertyValue(valueProperty);
    } else if (item instanceof Enum) {
        renderValue = ((Enum<?>) item).name();
    } else {
        renderValue = item;
    }
    Object renderLabel = (labelProperty != null ? wrapper.getPropertyValue(labelProperty) : item);
    writeElementTag(tagWriter, item, renderValue, renderLabel, itemIndex);
}
项目:spring-mvc-toolkit    文件:TestHtml5InputTag.java   
@Before
public void setUp() {
    writer = new StringWriter();
    formTag = new FormTag();
    tagWriter = new TagWriter(writer);
    inputTag = new Html5InputTag() {

        @Override
        protected TagWriter createTagWriter() {
            return tagWriter;
        }
    };
    inputTag.setParent(formTag);
    pageContext = createAndPopulatePageContext(null);
    inputTag.setPageContext(pageContext);
}
项目:appengine    文件:BSCheckboxesTag.java   
@Override
protected int writeTagContent(TagWriter tagWriter) throws JspException {
    super.writeTagContent(tagWriter);

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

    return SKIP_BODY;
}
项目:appengine    文件:BSAbstractMultiCheckedElementTag.java   
/**
 * Copy & Paste, 无修正.
 */
private void writeObjectEntry(TagWriter tagWriter, String valueProperty, String labelProperty, Object item,
        int itemIndex) throws JspException {

    BeanWrapper wrapper = PropertyAccessorFactory.forBeanPropertyAccess(item);
    Object renderValue;
    if (valueProperty != null) {
        renderValue = wrapper.getPropertyValue(valueProperty);
    } else if (item instanceof Enum) {
        renderValue = ((Enum<?>) item).name();
    } else {
        renderValue = item;
    }
    Object renderLabel = (labelProperty != null ? wrapper.getPropertyValue(labelProperty) : item);
    writeElementTag(tagWriter, item, renderValue, renderLabel, itemIndex);
}
项目:g2    文件:BSAbstractMultiCheckedElementTag.java   
/**
 * Copy & Paste, 无修正.
 */
private void writeMapEntry(TagWriter tagWriter, String valueProperty, String labelProperty, Map.Entry entry,
        int itemIndex) throws JspException {

    Object mapKey = entry.getKey();
    Object mapValue = entry.getValue();
    BeanWrapper mapKeyWrapper = PropertyAccessorFactory.forBeanPropertyAccess(mapKey);
    BeanWrapper mapValueWrapper = PropertyAccessorFactory.forBeanPropertyAccess(mapValue);
    Object renderValue = (valueProperty != null ? mapKeyWrapper.getPropertyValue(valueProperty) : mapKey.toString());
    Object renderLabel = (labelProperty != null ? mapValueWrapper.getPropertyValue(labelProperty) : mapValue
            .toString());
    writeElementTag(tagWriter, mapKey, renderValue, renderLabel, itemIndex);
}
项目:g2    文件:BSAbstractMultiCheckedElementTag.java   
/**
 * 重载方法,调整元素的输出顺序。
 */
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();
}
项目:onetwo    文件:LinkTag.java   
@Override
public void writeCustomTagAttributes(TagWriter tagWriter) throws JspException {
    String linkAddress = href;

    if(keepQueryString){
        String qs = WebHolder.getSpringContextHolderRequest().get().getQueryString();
        if(StringUtils.isBlank(qs)){
            writeHref(tagWriter, linkAddress);
            return ;
        }
        linkAddress += linkAddress.contains("?")?"&":"?";
        linkAddress += qs;
    }
    writeHref(tagWriter, linkAddress);
}
项目:spring-mvc-toolkit    文件:Html5InputTag.java   
@Override
protected int writeTagContent(TagWriter tagWriter) throws JspException {
    PropertyDescriptor propertyDescriptor = getPropertyDescriptor();
    if ((propertyDescriptor != null) && !propertyDescriptor.getConstraintDescriptors().isEmpty()) {
        annotations = constrainteByAnnotationType(propertyDescriptor);
    }
    valueType = getBindStatus().getValueType();
    return super.writeTagContent(tagWriter);
}
项目:spring-mvc-toolkit    文件:Html5InputTag.java   
@Override
protected void writeValue(TagWriter tagWriter) throws JspException {
    super.writeValue(tagWriter);
    if (annotations != null) {
        writeHtml5Attributes(tagWriter);
    }
}
项目:spring-mvc-toolkit    文件:Html5InputTag.java   
protected void writeMaxLengthAttribute(TagWriter tagWriter) throws JspException {
    if (annotations.containsKey(Size.class)) {
        Size size = getAnnotation(Size.class);
        if ((size.max() != Integer.MAX_VALUE) && StringUtils.isEmpty(getMaxlength())) {
            writeOptionalAttribute(tagWriter, MAXLENGTH_ATTRIBUTE, String.valueOf(size.max()));
        }
    }
}
项目:appengine    文件:BSAbstractMultiCheckedElementTag.java   
/**
 * Copy & Paste, 无修正.
 */
private void writeMapEntry(TagWriter tagWriter, String valueProperty, String labelProperty, Map.Entry entry,
        int itemIndex) throws JspException {

    Object mapKey = entry.getKey();
    Object mapValue = entry.getValue();
    BeanWrapper mapKeyWrapper = PropertyAccessorFactory.forBeanPropertyAccess(mapKey);
    BeanWrapper mapValueWrapper = PropertyAccessorFactory.forBeanPropertyAccess(mapValue);
    Object renderValue = (valueProperty != null ? mapKeyWrapper.getPropertyValue(valueProperty) : mapKey.toString());
    Object renderLabel = (labelProperty != null ? mapValueWrapper.getPropertyValue(labelProperty) : mapValue
            .toString());
    writeElementTag(tagWriter, mapKey, renderValue, renderLabel, itemIndex);
}
项目:appengine    文件:BSAbstractMultiCheckedElementTag.java   
/**
 * 重载方法,调整元素的输出顺序。
 */
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();
}
项目:spring4-understanding    文件:BindTagTests.java   
/**
 * SPR-4022
 */
@SuppressWarnings("serial")
@Test
public void nestingInFormTag() throws JspException {
    PageContext pc = createPageContext();
    TestBean tb = new TestBean();
    DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
    ServletRequestDataBinder binder = new ServletRequestDataBinder(tb, "tb");
    CustomDateEditor l = new CustomDateEditor(df, true);
    binder.registerCustomEditor(Date.class, l);
    pc.getRequest().setAttribute(BindingResult.MODEL_KEY_PREFIX + "tb", binder.getBindingResult());

    FormTag formTag = new FormTag() {
        @Override
        protected TagWriter createTagWriter() {
            return new TagWriter(new StringWriter());
        }
    };

    String action = "/form.html";
    String commandName = "tb";
    String name = "formName";
    String enctype = "my/enctype";
    String method = "POST";
    String onsubmit = "onsubmit";
    String onreset = "onreset";
    String cssClass = "myClass";
    String cssStyle = "myStyle";
    String acceptCharset = "iso-8859-1";

    formTag.setName(name);
    formTag.setCssClass(cssClass);
    formTag.setCssStyle(cssStyle);
    formTag.setAction(action);
    formTag.setCommandName(commandName);
    formTag.setEnctype(enctype);
    formTag.setMethod(method);
    formTag.setOnsubmit(onsubmit);
    formTag.setOnreset(onreset);
    formTag.setAcceptCharset(acceptCharset);

    formTag.setPageContext(pc);
    formTag.doStartTag();

    BindTag bindTag1 = new BindTag();
    bindTag1.setPageContext(pc);
    bindTag1.setPath("date");
    bindTag1.doStartTag();
    bindTag1.doEndTag();

    BindTag bindTag2 = new BindTag();
    bindTag2.setPageContext(pc);
    bindTag2.setPath("tb.date");
    bindTag2.doStartTag();
    bindTag2.doEndTag();

    BindTag bindTag3 = new BindTag();
    bindTag3.setPageContext(pc);
    bindTag3.setPath("tb");
    bindTag3.doStartTag();
    bindTag3.doEndTag();

    formTag.doEndTag();
}
项目:onetwo    文件:BaseBodyTag.java   
protected TagWriter createTagWriter(){
    return new TagWriter(pageContext);
}
项目:onetwo    文件:BaseBodyTag.java   
protected void writeCustomTagAttributes(TagWriter tagWriter) throws JspException{
}
项目:onetwo    文件:LinkTag.java   
private void writeHref(TagWriter tagWriter, String linkAddress) throws JspException{
    if(encodeUrl){
        linkAddress = URLEncoder.SAFE_PARAMS_ENCODER.encode(linkAddress);
    }
    tagWriter.writeAttribute("href", linkAddress);
}
项目:class-guard    文件:BindTagTests.java   
/**
 * SPR-4022
 */
@SuppressWarnings("serial")
public void testNestingInFormTag() throws JspException {
    PageContext pc = createPageContext();
    TestBean tb = new TestBean();
    DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
    ServletRequestDataBinder binder = new ServletRequestDataBinder(tb, "tb");
    CustomDateEditor l = new CustomDateEditor(df, true);
    binder.registerCustomEditor(Date.class, l);
    pc.getRequest().setAttribute(BindingResult.MODEL_KEY_PREFIX + "tb", binder.getBindingResult());

    FormTag formTag = new FormTag() {
        @Override
        protected TagWriter createTagWriter() {
            return new TagWriter(new StringWriter());
        }
    };

    String action = "/form.html";
    String commandName = "tb";
    String name = "formName";
    String enctype = "my/enctype";
    String method = "POST";
    String onsubmit = "onsubmit";
    String onreset = "onreset";
    String cssClass = "myClass";
    String cssStyle = "myStyle";
    String acceptCharset = "iso-8859-1";

    formTag.setName(name);
    formTag.setCssClass(cssClass);
    formTag.setCssStyle(cssStyle);
    formTag.setAction(action);
    formTag.setCommandName(commandName);
    formTag.setEnctype(enctype);
    formTag.setMethod(method);
    formTag.setOnsubmit(onsubmit);
    formTag.setOnreset(onreset);
    formTag.setAcceptCharset(acceptCharset);

    formTag.setPageContext(pc);
    formTag.doStartTag();

    BindTag bindTag1 = new BindTag();
    bindTag1.setPageContext(pc);
    bindTag1.setPath("date");
    bindTag1.doStartTag();
    bindTag1.doEndTag();

    BindTag bindTag2 = new BindTag();
    bindTag2.setPageContext(pc);
    bindTag2.setPath("tb.date");
    bindTag2.doStartTag();
    bindTag2.doEndTag();

    BindTag bindTag3 = new BindTag();
    bindTag3.setPageContext(pc);
    bindTag3.setPath("tb");
    bindTag3.doStartTag();
    bindTag3.doEndTag();

    formTag.doEndTag();
}
项目:sinavi-jfw    文件:PageNavigationTag.java   
/**
 * {@inheritDoc}
 */
@Override
protected int writeTagContent(TagWriter tagWriter) throws JspException {
    return EVAL_BODY_INCLUDE;
}
项目:spring-mvc-toolkit    文件:Html5InputTag.java   
protected void writeHtml5Attributes(TagWriter tagWriter) throws JspException {
    writeMaxLengthAttribute(tagWriter);
    writeRequiredAttribute(tagWriter);
    writeMaxAttribute(tagWriter);
    writeMinAttribute(tagWriter);
}
项目:spring-mvc-toolkit    文件:Html5InputTag.java   
protected void writeRequiredAttribute(TagWriter tagWriter) throws JspException {
    if (annotations.containsKey(NotEmpty.class) || annotations.containsKey(NotNull.class)) {
        writeOptionalAttribute(tagWriter, "required", "required");
    }
}
项目:spring-mvc-toolkit    文件:Html5InputTag.java   
protected void writeMaxAttribute(TagWriter tagWriter) throws JspException {
    if (annotations.containsKey(Max.class)) {
        Max max = getAnnotation(Max.class);
        writeOptionalAttribute(tagWriter, MAX_ATTRIBUTE, String.valueOf(max.value()));
    }
}
项目:spring-mvc-toolkit    文件:Html5InputTag.java   
protected void writeMinAttribute(TagWriter tagWriter) throws JspException {
    if (annotations.containsKey(Min.class)) {
        Min min = getAnnotation(Min.class);
        writeOptionalAttribute(tagWriter, MIN_ATTRIBUTE, String.valueOf(min.value()));
    }
}