这种需求用XML的继承机制是否可以解决
之所以想要问这个问题,是因为我再具体的项目中遇到这样一个情况.
前一阵我被分配一个任务开发一批JSP Tag对一个JavaScript绘图库进行
封装,因为大家对JS都不是很熟悉。开发并不难,很快就把基类搞出来
了,其子类用来完成具体图表的绘制。但当我为写好的JSP Tag写TLD文件
的时候发现写这些文本文件远远没有写Java文件那么轻松,即使这些子类
90%的定义基本相同,你也必须一个个的去手写,比如像下面这样:
<tag> <name>BarChart</name> <tagclass>com.fhd.chart.BarChar</tagclass> <bodycontent>JSP</bodycontent> <attribute> <name>label</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> ...</tag><tag> <name>LineChart</name> <tagclass>com.fhd.chart.BarChar</tagclass> <bodycontent>JSP</bodycontent> <attribute> <name>label</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> ...</tag>...
<CommonChartSet> <bodycontent>JSP</bodycontent> <attribute> <name>label</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>width</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> <attribute> <name>height</name> <required>false</required> <rtexprvalue>true</rtexprvalue> </attribute> ....</CommonChartSet><tag extends="CommonChartSet"> <name>LineChart</name> <tagclass>com.fhd.chart.LineChar</tagclass></tag><tag extends="CommonChartSet"> <name>BarChart</name> <tagclass>com.fhd.chart.BarChar</tagclass></tag>....