⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 htmlformrenderer.java

📁 Sequoia ERP是一个真正的企业级开源ERP解决方案。它提供的模块包括:电子商务应用(e-commerce), POS系统(point of sales),知识管理,存货与仓库管理
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
/* * $Id: HtmlFormRenderer.java 7100 2006-03-29 00:26:54Z jonesde $ * * Copyright (c) 2003 The Open For Business Project - www.ofbiz.org * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, * and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included * in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT * OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. */package org.ofbiz.widget.html;import java.util.Iterator;import java.util.List;import java.util.Locale;import java.util.Map;import java.util.HashSet;import java.util.Calendar;import java.sql.Timestamp;import javax.servlet.ServletContext;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.ofbiz.base.util.Debug;import org.ofbiz.base.util.UtilHttp;import org.ofbiz.base.util.UtilProperties;import org.ofbiz.base.util.UtilValidate;import org.ofbiz.base.util.string.FlexibleStringExpander;import org.ofbiz.webapp.control.RequestHandler;import org.ofbiz.webapp.taglib.ContentUrlTag;import org.ofbiz.widget.WidgetWorker;import org.ofbiz.widget.form.FormStringRenderer;import org.ofbiz.widget.form.ModelForm;import org.ofbiz.widget.form.ModelFormField;import org.ofbiz.widget.form.ModelFormField.CheckField;import org.ofbiz.widget.form.ModelFormField.DateFindField;import org.ofbiz.widget.form.ModelFormField.DateTimeField;import org.ofbiz.widget.form.ModelFormField.DisplayEntityField;import org.ofbiz.widget.form.ModelFormField.DisplayField;import org.ofbiz.widget.form.ModelFormField.DropDownField;import org.ofbiz.widget.form.ModelFormField.FileField;import org.ofbiz.widget.form.ModelFormField.HiddenField;import org.ofbiz.widget.form.ModelFormField.HyperlinkField;import org.ofbiz.widget.form.ModelFormField.IgnoredField;import org.ofbiz.widget.form.ModelFormField.ImageField;import org.ofbiz.widget.form.ModelFormField.LookupField;import org.ofbiz.widget.form.ModelFormField.PasswordField;import org.ofbiz.widget.form.ModelFormField.RadioField;import org.ofbiz.widget.form.ModelFormField.RangeFindField;import org.ofbiz.widget.form.ModelFormField.ResetField;import org.ofbiz.widget.form.ModelFormField.SubmitField;import org.ofbiz.widget.form.ModelFormField.TextField;import org.ofbiz.widget.form.ModelFormField.TextFindField;import org.ofbiz.widget.form.ModelFormField.TextareaField;/** * Widget Library - HTML Form Renderer implementation * * @author     <a href="mailto:jonesde@ofbiz.org">David E. Jones</a> * @author     <a href="mailto:byersa@automationgroups.com">Al Byers</a> * @version    $Rev: 7100 $ * @since      2.2 */public class HtmlFormRenderer implements FormStringRenderer {    public static final String module = HtmlFormRenderer.class.getName();        HttpServletRequest request;    HttpServletResponse response;    protected String lastFieldGroupId = "";    protected HtmlFormRenderer() {}    public HtmlFormRenderer(HttpServletRequest request, HttpServletResponse response) {        this.request = request;        this.response = response;    }    public void appendWhitespace(StringBuffer buffer) {        // appending line ends for now, but this could be replaced with a simple space or something        buffer.append("\r\n");        //buffer.append(' ');    }    public void appendOfbizUrl(StringBuffer buffer, String location) {        ServletContext ctx = (ServletContext) this.request.getAttribute("servletContext");        RequestHandler rh = (RequestHandler) ctx.getAttribute("_REQUEST_HANDLER_");        // make and append the link        buffer.append(rh.makeLink(this.request, this.response, location));    }    public void appendContentUrl(StringBuffer buffer, String location) {        ContentUrlTag.appendContentPrefix(this.request, buffer);        buffer.append(location);    }    public void appendTooltip(StringBuffer buffer, Map context, ModelFormField modelFormField) {        // render the tooltip, in other methods too        String tooltip = modelFormField.getTooltip(context);        if (UtilValidate.isNotEmpty(tooltip)) {            buffer.append("<span");            String tooltipStyle = modelFormField.getTooltipStyle();            if (UtilValidate.isNotEmpty(tooltipStyle)) {                buffer.append(" class=\"");                buffer.append(tooltipStyle);                buffer.append("\"");            }            buffer.append("> -[");            buffer.append(tooltip);            buffer.append("]- </span>");        }    }    public void addAstericks(StringBuffer buffer, Map context, ModelFormField modelFormField) {                   boolean requiredField = modelFormField.getRequiredField();        if (requiredField) {            String requiredStyle = modelFormField.getRequiredFieldStyle();                        if (UtilValidate.isEmpty(requiredStyle)) {               buffer.append("*");            }        }        return;    }        /* (non-Javadoc)     * @see org.ofbiz.widget.form.FormStringRenderer#renderDisplayField(java.lang.StringBuffer, java.util.Map, org.ofbiz.widget.form.ModelFormField.DisplayField)     */    public void renderDisplayField(StringBuffer buffer, Map context, DisplayField displayField) {        ModelFormField modelFormField = displayField.getModelFormField();        buffer.append("<span");        if (UtilValidate.isNotEmpty(modelFormField.getWidgetStyle())) {            buffer.append(" class=\"");            buffer.append(modelFormField.getWidgetStyle());            buffer.append("\"");        }        // add a style of red if this is a date/time field and redWhen is true        if (modelFormField.shouldBeRed(context)) {            buffer.append(" style=\"color: red;\"");        }        buffer.append(">");        buffer.append(displayField.getDescription(context));        buffer.append("</span>");        if (displayField instanceof DisplayEntityField) {            this.makeHyperlinkString(buffer, ((DisplayEntityField) displayField).getSubHyperlink(), context);        }                this.appendTooltip(buffer, context, modelFormField);        this.appendWhitespace(buffer);    }    /* (non-Javadoc)     * @see org.ofbiz.widget.form.FormStringRenderer#renderHyperlinkField(java.lang.StringBuffer, java.util.Map, org.ofbiz.widget.form.ModelFormField.HyperlinkField)     */    public void renderHyperlinkField(StringBuffer buffer, Map context, HyperlinkField hyperlinkField) {        ModelFormField modelFormField = hyperlinkField.getModelFormField();        this.makeHyperlinkString(            buffer,            modelFormField.getWidgetStyle(),            hyperlinkField.getTargetType(),            hyperlinkField.getTarget(context),            hyperlinkField.getDescription(context),            hyperlinkField.getTargetWindow(context));        this.appendTooltip(buffer, context, modelFormField);        this.appendWhitespace(buffer);    }    public void makeHyperlinkString(StringBuffer buffer, ModelFormField.SubHyperlink subHyperlink, Map context) {        if (subHyperlink == null) {            return;        }        if (subHyperlink.shouldUse(context)) {            buffer.append(' ');            this.makeHyperlinkString(                buffer,                subHyperlink.getLinkStyle(),                subHyperlink.getTargetType(),                subHyperlink.getTarget(context),                subHyperlink.getDescription(context),                subHyperlink.getTargetWindow(context));        }    }    public void makeHyperlinkString(StringBuffer buffer, String linkStyle, String targetType, String target, String description, String targetWindow) {        Map context = null;        WidgetWorker.makeHyperlinkString(buffer, linkStyle, targetType, target, description, this.request, this.response, context, targetWindow);    }    /* (non-Javadoc)     * @see org.ofbiz.widget.form.FormStringRenderer#renderTextField(java.lang.StringBuffer, java.util.Map, org.ofbiz.widget.form.ModelFormField.TextField)     */    public void renderTextField(StringBuffer buffer, Map context, TextField textField) {        ModelFormField modelFormField = textField.getModelFormField();        buffer.append("<input type=\"text\"");        String className = modelFormField.getWidgetStyle();        if (UtilValidate.isNotEmpty(className)) {            buffer.append(" class=\"");            buffer.append(className);            buffer.append('"');        }        // add a style of red if this is a date/time field and redWhen is true        if (modelFormField.shouldBeRed(context)) {            buffer.append(" style=\"color: red;\"");        }        buffer.append(" name=\"");        buffer.append(modelFormField.getParameterName(context));        buffer.append('"');        String value = modelFormField.getEntry(context, textField.getDefaultValue(context));        if (UtilValidate.isNotEmpty(value)) {            buffer.append(" value=\"");            buffer.append(value);            buffer.append('"');        }        buffer.append(" size=\"");        buffer.append(textField.getSize());        buffer.append('"');        Integer maxlength = textField.getMaxlength();        if (maxlength != null) {            buffer.append(" maxlength=\"");            buffer.append(maxlength.intValue());            buffer.append('"');        }        String idName = modelFormField.getIdName();        if (UtilValidate.isNotEmpty(idName)) {            buffer.append(" id=\"");            buffer.append(idName);            buffer.append('"');        }        String event = modelFormField.getEvent();        String action = modelFormField.getAction();        if (UtilValidate.isNotEmpty(event) && UtilValidate.isNotEmpty(action)) {            buffer.append(" ");            buffer.append(event);            buffer.append("=\"");            buffer.append(action);            buffer.append('"');        }        buffer.append("/>");                this.addAstericks(buffer, context, modelFormField);        this.makeHyperlinkString(buffer, textField.getSubHyperlink(), context);        this.appendTooltip(buffer, context, modelFormField);        this.appendWhitespace(buffer);    }    /* (non-Javadoc)     * @see org.ofbiz.widget.form.FormStringRenderer#renderTextareaField(java.lang.StringBuffer, java.util.Map, org.ofbiz.widget.form.ModelFormField.TextareaField)     */    public void renderTextareaField(StringBuffer buffer, Map context, TextareaField textareaField) {        ModelFormField modelFormField = textareaField.getModelFormField();        buffer.append("<textarea");        String className = modelFormField.getWidgetStyle();        if (UtilValidate.isNotEmpty(className)) {            buffer.append(" class=\"");            buffer.append(className);            buffer.append('"');        } else {            buffer.append(" class=\"textAreaBox\"");        }        buffer.append(" name=\"");        buffer.append(modelFormField.getParameterName(context));        buffer.append('"');        buffer.append(" cols=\"");        buffer.append(textareaField.getCols());        buffer.append('"');        buffer.append(" rows=\"");        buffer.append(textareaField.getRows());        buffer.append('"');        String idName = modelFormField.getIdName();        if (UtilValidate.isNotEmpty(idName)) {            buffer.append(" id=\"");            buffer.append(idName);            buffer.append('"');        } else if (textareaField.getVisualEditorEnable()) {            buffer.append(" id=\"");

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -