tag控件 “线程安全” 问题
DictTag 问题编码部分
?
?
?生成页面HTML:
?
解析第一个TAG控件,发现TAG ID=1842.
解析第二哥控件,发现TAG ID 还是=184,同时dictCode,id,name的值都发生变化,但是诡异的是 name竟然是上一个tag控件的id,
?
原因: 由于两个控件都有相同的两个属性id,dictCode。 而且发现他们的TAG ID 都等于 184,可知他们是同一个对象,因为是同一个对象,因此保留了上一次tag实例化得之 name=menuType 。导致这个问题的出现
?
但是如果两个tag控件的属性不一样,那他们的tag ID就不会一样,
?
?1.
TAG ID=192
?
2.
TAG ID=197 != 192 ? ?两个不同的tag对象
http://klcwt.iteye.com/blog/749652
?
教训。编写tag控件,每个属性都不能依赖于tag内的其他任何属性,否则就会出现这种伪线程安全问题。
?
完整代码:
??