所有的 Dynamic JavaBean 都是实作 DynaBean 或 DynaClass 这两个 interface, 也可能会用到 DynaProperty class 来存取 properties . 我们为何要用到 Dynamic JavaBean 呢, 例如, 你从资料库取出来的资料, 有时候可能是三个栏位, 有时候是四个栏位, 如果我们对于每个 Bean 都要去写一个 class, 就会很累, 所以对于每一种 javabean 我们就设定他的属性有哪些, 接著就可以使用 PropertyUtils 来将他的数值取出, 如此, 可以减少很多开发工时.
以下为工作中的一小段代码应用。无须定义employee java 文件,在程序中动态定义。
保存资料后返回页面,jsp再从取出资料。
DynaProperty[] px = { new DynaProperty("firstName", String.class), new DynaProperty("lastName", String.class) }; DynaClass dynaClass = new BasicDynaClass("employee",null,px ); DynaBean employee = dynaClass.newInstance(); employee.set("firstName", "Fred"); employee.set("lastName", "Flintstone"); request.setAttribute("employee",employee); |
jsp中像一往应用javabean一样 |
参考
http://www.javaworld.com.tw/confluence/pages/viewpage.action?pageId=1861