jspgenerator.java
来自「Java Pattern Oriented Framework (Jt) 是为了」· Java 代码 · 共 1,639 行 · 第 1/4 页
JAVA
1,639 行
return (form);
}
private boolean verifyReadOnly (String attrName, Object operation) {
Iterator iterator;
String tmpStr;
if (operation == null) {
return false;
}
if (operation.equals(JtObject.JtDELETE) || operation.equals(JtObject.JtREAD)) {
return true;
}
if (operation.equals(JtObject.JtCREATE)) {
return false;
}
if (attrName == null)
return false;
if (keys == null)
return false;
iterator = keys.iterator();
while (iterator.hasNext()) {
tmpStr = (String) iterator.next();
if (attrName.equals(tmpStr)) {
handleTrace ("verifyReadOnly(true):" + tmpStr , 0);
return true;
}
}
return false;
}
//private boolean generateInputFields2 (JDOMAdapter adapter, String className) {
private boolean generateInputFields2 (JDOMAdapter adapter, String formName, Object operation) {
//JtFactory factory = new JtFactory ();
FormBeanForm form;
//Object obj;
JtMessage msg = new JtMessage (JtFactory.JtGET_ATTRIBUTES);
//JtHashTable attributes;
//JtIterator iterator;
String attrName;
Element element, labelElement;
int index = 0, index1 = 0;
Namespace nameSpace = Namespace.getNamespace("html", "http://struts.apache.org/tags-html");
Namespace nameSpace1 = Namespace.getNamespace("bean", "http://struts.apache.org/tags-bean");
//PropertyDescriptor prop;
//JtMessage msg1 = new JtMessage (JtHashTable.JtGET);
JtMessage msg2;
List children;
DynaMapping[] mapping;
int i;
//if (className == null || adapter == null)
// return (false);
if (formName == null || adapter == null)
return (false);
//obj = factory.createObject(className);
/*
if (obj == null) {
// Propagate the exception
if (factory.getObjException() != null)
this.setObjException(factory.getObjException());
return (false); // check
}
msg.setMsgContent(obj);
attributes = (JtHashTable) factory.processMessage(msg);
if (attributes == null) {
handleWarning ("generateInputFields: no class attributes for " +
className);
return (true);
}
*/
//iterator = (JtIterator) attributes.processMessage (new JtMessage (JtHashTable.JtGET_KEYS));
//if (iterator == null)
// return (false); //check
form = retrieveForm (formName);
if (form == null)
return (false);
mapping = form.getMappings();
if (mapping == null)
return (false);
msg2 = new JtMessage (JDOMAdapter.GET_CHILDREN);
msg2.setMsgContent ("jsp:root/html:html/html:form/fieldset");
children = (List) adapter.processMessage(msg2);
if (children == null || (children.size() == 0))
index1 = 1;
else {
index1 = 2;
}
msg = new JtMessage (JDOMAdapter.INSERT_ELEMENT);
for (i = 0; i < mapping.length; i++) {
//attrName = (String) iterator.processMessage(new JtMessage (JtIterator.JtNEXT));
attrName = mapping[i].getName();
if (attrName == null || attrName.equals (""))
break; // check
//msg1.setMsgData (attrName);
//prop = (PropertyDescriptor) attributes.processMessage(msg1);
//if (!(prop.getPropertyType().isPrimitive() ||
// String.class.isAssignableFrom (prop.getPropertyType()) ||
// "java.util.Date".equals(prop.getPropertyType().getName())))
// continue;
if (index == 0) {
element = new Element ("br");
msg.setMsgData ("jsp:root/html:html/html:form/fieldset");
msg.setMsgContent(element);
msg.setMsgAttachment(new Integer (index1++));
adapter.processMessage(msg);
}
labelElement = new Element ("label");
element = new Element ("message");
element.setNamespace(nameSpace1);
element.setAttribute("key", "Jt." + formName + "." + attrName);
labelElement.addContent(element);
labelElement.addContent(":");
msg.setMsgContent(labelElement);
//msg.setMsgData ("html:form/fieldset");
msg.setMsgData ("jsp:root/html:html/html:form/fieldset");
msg.setMsgAttachment(new Integer (index1++));
adapter.processMessage(msg);
element = new Element ("text");
element.setNamespace(nameSpace);
element.setAttribute("property", attrName);
if (verifyReadOnly (attrName, operation))
element.setAttribute("readonly", "true");
msg.setMsgContent(element);
msg.setMsgAttachment(new Integer (index1++));
adapter.processMessage(msg);
element = new Element ("br");
msg.setMsgContent(element);
msg.setMsgAttachment(new Integer (index1++));
adapter.processMessage(msg);
element = new Element ("br");
msg.setMsgContent(element);
msg.setMsgAttachment(new Integer (index1++));
adapter.processMessage(msg);
index++;
}
//element = new Element ("submit");
//element.setNamespace(nameSpace);
//addElement (adapter, "html:form/fieldset", element);
return (true);
}
/*
private boolean olgenerateInputFields1 (JDOMAdapter adapter, String className) {
//JtFactory factory = new JtFactory ();
Object obj;
JtMessage msg = new JtMessage (JtFactory.JtGET_ATTRIBUTES);
JtHashTable attributes;
JtIterator iterator;
String attrName;
Element element;
int index = 0;
Namespace nameSpace = Namespace.getNamespace("html", "http://struts.apache.org/tags-html");
PropertyDescriptor prop;
JtMessage msg1 = new JtMessage (JtHashTable.JtGET);
if (className == null || adapter == null)
return (false);
obj = factory.createObject(className);
if (obj == null) {
// Propagate the exception
if (factory.getObjException() != null)
this.setObjException(factory.getObjException());
return (false); // check
}
msg.setMsgContent(obj);
attributes = (JtHashTable) factory.processMessage(msg);
if (attributes == null) {
handleWarning ("generateInputFields: no class attributes for " +
className);
return (true);
}
iterator = (JtIterator) attributes.processMessage (new JtMessage (JtHashTable.JtGET_KEYS));
if (iterator == null)
return (false); //check
msg = new JtMessage (JDOMAdapter.ADD_ELEMENT);
for (;;) {
attrName = (String) iterator.processMessage(new JtMessage (JtIterator.JtNEXT));
if (attrName == null)
break;
msg1.setMsgData (attrName);
prop = (PropertyDescriptor) attributes.processMessage(msg1);
if (!(prop.getPropertyType().isPrimitive() ||
String.class.isAssignableFrom (prop.getPropertyType()) ||
"java.util.Date".equals(prop.getPropertyType().getName())))
continue;
if (index == 0) {
element = new Element ("br");
msg.setMsgData ("html:form/fieldset");
msg.setMsgContent(element);
adapter.processMessage(msg);
}
element = new Element ("label");
element.setText(capFirstLetter (attrName) + ":");
msg.setMsgContent(element);
msg.setMsgData ("html:form/fieldset");
//msg.setMsgData ("jsp:root/html:html/html:form/fieldset");
adapter.processMessage(msg);
element = new Element ("text");
element.setNamespace(nameSpace);
element.setAttribute("property", attrName);
msg.setMsgContent(element);
adapter.processMessage(msg);
element = new Element ("br");
msg.setMsgContent(element);
adapter.processMessage(msg);
element = new Element ("br");
msg.setMsgContent(element);
adapter.processMessage(msg);
index++;
}
element = new Element ("submit");
element.setNamespace(nameSpace);
addElement (adapter, "html:form/fieldset", element);
return (true);
}
*/
private JtHashTable retrieveAttributes (InputStream inputStream) {
JtJavaParser parser = new JtJavaParser ();
JtHashTable attributes;
if (inputStream == null)
return null;
parser.setInputStream(inputStream);
attributes = (JtHashTable) factory.sendMessage(parser, new JtMessage (JtJavaParser.PARSE));
if (parser.getObjException() != null) {
this.setObjException(factory.getObjException());
return null; // check
}
if (attributes == null)
return null;
return (attributes);
}
/*
private boolean generateInputFields1 (JDOMAdapter adapter, InputStream inputStream) {
Object obj;
JtMessage msg = new JtMessage (JtFactory.JtGET_ATTRIBUTES);
JtHashTable attributes;
JtIterator iterator;
String attrName;
Element element;
int index = 0;
Namespace nameSpace = Namespace.getNamespace("html", "http://struts.apache.org/tags-html");
BeanProperty prop;
JtMessage msg1 = new JtMessage (JtHashTable.JtGET);
Element formElement, fsetElement;
if (inputStream == null)
return (false);
attributes = retrieveAttributes (inputStream);
formElement = new Element ("form");
fsetElement = new Element ("fieldset");
formElement.addContent(fsetElement);
if (attributes == null) {
handleWarning ("generateInputFields: no class attributes for " +
className);
return (true);
}
iterator = (JtIterator) attributes.processMessage (new JtMessage (JtHashTable.JtGET_KEYS));
if (iterator == null)
return (false); //check
msg = new JtMessage (JDOMAdapter.ADD_ELEMENT);
for (;;) {
attrName = (String) iterator.processMessage(new JtMessage (JtIterator.JtNEXT));
if (attrName == null)
break;
msg1.setMsgData (attrName);
prop = (BeanProperty) attributes.processMessage(msg1);
if (!(prop.isPrimitive() ||
"String".equals (prop.getType()) || "java.lang.String".equals(prop.getType()) ||
"Date".equals(prop.getType()) ||
"java.util.Date".equals(prop.getType())))
continue;
if (index == 0) {
element = new Element ("br");
//msg.setMsgData ("html:form/fieldset");
//msg.setMsgContent(element);
//adapter.processMessage(msg);
fsetElement.addContent(element);
}
element = new Element ("label");
element.setText(capFirstLetter (attrName) + ":");
//msg.setMsgContent(element);
//msg.setMsgData ("html:form/fieldset");
//msg.setMsgData ("jsp:root/html:html/html:form/fieldset");
//adapter.processMessage(msg);
fsetElement.addContent(element);
element = new Element ("text");
element.setNamespace(nameSpace);
element.setAttribute("property", attrName);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?