@@ -0,0 +1,2391 @@
+package org.xcolab.view.tags;%0A%0Aimport javax.servlet.http.HttpServletResponse;%0Aimport javax.servlet.jsp.JspException;%0A%0Apublic class FormFieldTag extends AbstractHtmlTag %7B%0A%0A    private static final String FORM_FIELD_TAG = %22form:input%22;%0A%0A    private static final String SRC_ATTRIBUTE = %22src%22;%0A    private static final String SRCSET_ATTRIBUTE = %22srcset%22;%0A    private static final String SIZES_ATTRIBUTE = %22sizes%22;%0A    private static final String ALT_ATTRIBUTE = %22alt%22;%0A    private static final String WIDTH_ATTRIBUTE = %22width%22;%0A    private static final String HEIGHT_ATTRIBUTE = %22height%22;%0A%0A    private String src;%0A    private String srcset;%0A    private String sizes;%0A    private String alt;%0A    private Integer width;%0A    private Integer height;%0A%0A    public FormFieldTag() %7B%0A        super(FORM_FIELD_TAG);%0A    %7D%0A%0A    /**%0A     * Writes the opening part of the '%7B@code img%7D' tag.%0A     */%0A    @Override%0A    protected void writeTagContent() throws JspException %7B%0A        final String encodedSrc = encodeUrl(getSrc());%0A        writeOptionalAttribute(SRC_ATTRIBUTE, encodedSrc);%0A        writeOptionalAttribute(SRCSET_ATTRIBUTE, getSrcset());%0A        writeOptionalAttribute(SIZES_ATTRIBUTE, getSizes());%0A        writeOptionalAttribute(ALT_ATTRIBUTE, getAlt());%0A        writeOptionalAttribute(WIDTH_ATTRIBUTE, getWidth());%0A        writeOptionalAttribute(HEIGHT_ATTRIBUTE, getHeight());%0A%0A        final boolean isLocalToCdn = getSrc().startsWith(%22/%22) && !encodedSrc.startsWith(%22/%22);%0A        if (isLocalToCdn) %7B%0A            writeOptionalAttribute(%22onerror%22, %22retryLocal(this)%22);%0A        %7D%0A    %7D%0A%0A%0A    public String getSrc() %7B%0A        return src;%0A    %7D%0A%0A    public void setSrc(String src) %7B%0A        this.src = src;%0A    %7D%0A%0A    public String getAlt() %7B%0A        return alt;%0A    %7D%0A%0A    public void setAlt(String alt) %7B%0A        this.alt = alt;%0A    %7D%0A%0A    public Integer getWidth() %7B%0A        return width;%0A    %7D%0A%0A    public void setWidth(Integer width) %7B%0A        this.width = width;%0A    %7D%0A%0A    public Integer getHeight() %7B%0A        return height;%0A    %7D%0A%0A    public void setHeight(Integer height) %7B%0A        this.height = height;%0A    %7D%0A%0A    public String getSrcset() %7B%0A        return srcset;%0A    %7D%0A%0A    public void setSrcset(String srcset) %7B%0A        this.srcset = srcset;%0A    %7D%0A%0A    public String getSizes() %7B%0A        return sizes;%0A    %7D%0A%0A    public void setSizes(String sizes) %7B%0A        this.sizes = sizes;%0A    %7D%0A%7D%0A

Add preliminary FormFieldTag to repository