use of web.Table in project common by zenlunatics.
the class MethodForm method write.
// --------------------------------------------------------------------------
// write generic form based on method parameters
private void write(Method method, Request request) throws IOException {
HTMLWriter writer = request.writer;
open(method.getName(), request);
String[] labels = method.getAnnotation(AdminTask.class).value();
int label = 0;
Class<?>[] parameter_types = method.getParameterTypes();
Table table = new Table(writer);
for (int i = 0; i < parameter_types.length; i++) if (labels.length > label && labels[label].equals("_owner_")) {
table.tr().td();
++label;
writer.write("_owner_");
table.td();
new RowsSelect("arg" + i, "SELECT id,first,last FROM people ORDER BY first,last", "first,last", "id", request).write(request);
} else if (parameter_types[i] == boolean.class) {
table.tr().td().td();
writer.checkbox("arg" + i, labels.length > label ? labels[label++] : null, null, false, false);
} else if (parameter_types[i] == Calendar.class) {
table.tr().td().td();
writer.dateInput("arg" + i, null);
} else if (parameter_types[i] == String.class || parameter_types[i] == int.class || parameter_types[i] == float.class) {
table.tr().td();
if (labels.length > label)
writer.write(labels[label++]);
table.td();
writer.write("<textarea name=\"arg" + i + "\"></textarea>");
} else if (parameter_types[i] == FileItem.class) {
table.tr().td();
if (labels.length > label)
writer.write(labels[label++]);
table.td();
writer.fileInput("arg" + i);
}
table.close();
close(writer);
}
Aggregations