protected void renderTable(String listname, List tableList)
throws Exception {
// Method One:
// StringBuffer results = new StringBuffer("");
// results.append("<table>");
// results.append("<logic:iterate");
// prepareAttribute(results, "id", "stationery");
// prepareAttribute(results, "name", listname);
// results.append(">");
// results.append("<tr><td>");
// results.append("aaaaaaaaaaaaaaaaaaaaa");
// results.append("<bean:write");
// prepareAttribute(results, "name", "stationery");
// prepareAttribute(results, "property", "stationeryID");
// results.append("/>");
// results.append("</td></tr>");
// results.append("</logic:iterate>");
// results.append("</table>");
// Method Two:
StringBuffer results = new StringBuffer("");
results.append("<table>");
for (int i=0; i<tableList.size(); i++){
//Stationery stationery= new Stationery();
//stationery = (Stationery)tableList.get(i);
KissBO bo = new KissBO();
bo=(KissBO)tableList.get(i);
Object sbo[] = OB2POJO(bo);
//long id=Integer.parseInt(sbo[0]);
results.append("<tr>");
for (int j=0; j<sbo.length; j++){
results.append("<td>");
results.append(sbo[j]);
results.append("</td>");
}
results.append("<td><a");
//prepareAttribute(results, "href", getUpdateUrl(id, "updatepage"));
results.append(">");
results.append(getUpdateLabel());
results.append("</a></td>");
results.append("</tr>");
}
results.append("</table>");
TagUtils.getInstance().write(pageContext, results.toString());
}
public Object [] OB2POJO(Object ob)
{
//Get the form bean and hibernate bean class
Class hibernateCls = ob.getClass();
Method hibernateMethods[] = hibernateCls.getDeclaredMethods();
Method hibernateGetMethods[] = getGetMethods(hibernateMethods);
Object [] slist = new Object [hibernateGetMethods.length];
/* Loop all through the methods
* and set the hibernate bean value if its field name
* is the same with the form bean field name
*/
for (int i = 0; i < hibernateGetMethods.length; i++)
{
try {
try{
slist[i] = hibernateGetMethods[i].invoke(ob, null);
}
catch(Exception e){
slist[i] = hibernateGetMethods[i].invoke(ob, null);
}
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return slist;
}
private static Method[] getGetMethods(Method[] oldMethods)
{
ArrayList methods = new ArrayList();
for (int i = 0; i < oldMethods.length; i++)
{
if (oldMethods[i].getName().startsWith("get", 0)) methods.add(oldMethods[i]);
}
//Convert the get methods arraylist into array
Method[] retMethods = new Method[methods.size()];
methods.toArray(retMethods);
return retMethods;
}
Class pvec[] = m.getParameterTypes();//返回类型