📄 formgenerator.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 + -