第三篇 tag之间的嵌套与属性读取
【程序编程相关:窗口控制JS代码集锦】1.问题:在request里有一个 man 对象,它有两个属性:name与age.现在,我们想用一个嵌套的tag,父tag取得对象,子tag取得name属性并显示在页面上.例如,它的形式如下: 【推荐阅读:原创]Windows Gdi入门初级应用】
【扩展信息:IBM承诺今年年底发布代号为Atlant】 <diego:with object="${man}"> <diego:output property="name"/> </diego:with> object 支持el表达式,表示取得 man 对象.output的property表示从该对象取得名为name的属性. 2.如何支持tag之间的嵌套 在子tag里调用getparent 方法,可以得到父tag对象.用 findancestorwithclass 方法,则可以通过递归找到想要找的tag.例如 <diego:with object="${people}"> <!--表示取得一个对象--> <diego:withcollection property="men"> <!--表示取得对象里的一个属性,这个属性是个 collection,collection里添加了许多man,每个man有名字与年龄--> <diego:output property="name"/> <!--取得name属性并显示--> </diego:withcollection> </diego:with> 对于最内层的outputtag来说,调用getparent,可以得到 withcollectiontag, 通过如findancestorwithclass(this,withtag.class)的方式,可以得到withtag 得到tag之后,就可以取得tag的属性,进行业务逻辑处理,然后输出到jsp 3.如何支持类属性查找功能 显然,在上面的outputtag中,我们要根据属性的名字,查找类中有没有这个属性.然后取出属性的值并显示.通常,这可以编写自己的反射函数来完成.更简单的办法,是通过 beanutil 的propertyutils方法来完成功能.beanutil 是apache上的一个开源项目. 示例如下: ... 下一页