我想做一个propertyTable的tag,根据一个object的各个attribute的属性,显示一个表格,让用户输入相应的数据。这个tag也可以显示一个已经存在的object的属性。在客户端(jsp业面),只需要用
<prefix:propertyTable objectSchemaId="customer"/>
|
就可以显示如下的一个表格:
――――――――――――――――――--――――――――――――
| 顾客姓名(String): | 文本输入框(能输入文本或数字) |
| 顾客性别(String): | 下拉选择菜单(显示“男”或“女”) |
| 消费额(Double): | 文本输入框(只能输入数字) |
―――――――――――――――――――――――――――――――
object的属性是在xml里定义的,在PropertyTableTag的doStartTag()方法中,会先根据objectSchemaId拿到customer这个object所有的attribute,然后根据每个attribute的数据类型,动态的在客户端显示不同的输入框。比如说如果消费额的数据类型时double,客户端就显示一个文本输入框,但只能输入数字。代码如下:
if(attributeSpec.getDataType().equalsIgnoreCase("Doube"))
{
htmlCode.append("<prefix:myInput name='xxx' dataType='Double'/>");
}
<p>
|
其中myInput是我自己写的tag,会根据dataType的不同显示不同的input,但实际上运行的时候myInput的tag handler并没有被调用,而是
<prefix:myInput name='xxx' dataType='Double'/>
|
被直接显示到客户端。
So,我的问题就是,怎样可以在PropertyTableTag中得到myInput所对应的html代码?
希望各位能给我一些建议。