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

📄 formgenerator.java

📁 一个java工作流引擎
💻 JAVA
字号:
package org.jbpm.web.formgen;

import java.io.*;
import java.text.*;
import java.util.*;

import javax.servlet.http.*;
import javax.servlet.jsp.*;

/**
 * contains the interpreted object model that corresponds with a form file.
 * <p>
 * <b>at form generation</b> the following methods of this class are called :
 * <ol>
 * <li>{@link #prepareParameters(Map)}</li>
 * <li>{@link #generateHtml(JspWriter,Map)}</li>
 * </ol>
 * </p>
 * <p>
 * <b>at form submission</b> the following methods of this class are called :
 * <ol>
 * <li>{@link #parseParameters(HttpServletRequest,Map)}</li>
 * <li>{@link #extractVariables(Map)}</li>
 * <li>{@link #getSelectedTransitionName(HttpServletRequest)}</li>
 * </ol>
 * </p>
 */
public class FormGenerator {

  private Form form = null;

  public FormGenerator(Form form) {
    this.form = form;
  }

  public Map prepareParameters(Map variables) {
    Map parameters = new HashMap();
    Iterator iter = form.getVariableFormats().entrySet().iterator();
    while (iter.hasNext()) {
      Map.Entry entry = (Map.Entry) iter.next();
      String variableName = (String) entry.getKey();
      parameters.put(
          variableName, 
          ((Format)entry.getValue()).format(variables.get(variableName)));
    }
    return parameters;
  }

  public void generateHtml(JspWriter jspOut, Map parameters)
    throws IOException {
    Iterator iter = form.getFormElements().iterator();
    while (iter.hasNext()) {
      FormElement formElement = (FormElement) iter.next();
      formElement.write(jspOut, parameters);
    }
  }

  public Map parseParameters(HttpServletRequest request, Map errors) {
    Map parameters = new HashMap();
    Iterator iter = form.getVariableFormats().keySet().iterator();
    while (iter.hasNext()) {
      String variableName = (String)iter.next();
      Format format = (Format)form.getVariableFormats().get(variableName);
      String submittedValue = request.getParameter(variableName);
      if (submittedValue != null) {
        try {
          Object parameterValue = format.parseObject(submittedValue);
          parameters.put(variableName, parameterValue);
        } catch (ParseException e) {
          errors.put(variableName, variableName + " : " + e.getMessage());
        }
      }
    }

    return parameters;
  }

  public Map extractVariables(Map parameters) {
    return parameters;
  }
  
  public String getSelectedTransitionName(HttpServletRequest request) {
    String transitionName = null;

    String submitButtonValue = request.getParameter("submitbutton");
    if (submitButtonValue != null) {
      transitionName = form.getTransitionName(submitButtonValue);
    }
    return transitionName;
  }

}

⌨️ 快捷键说明

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