当一个标签的属性一样时,只产生唯一一个对象与标签对应
<
CSP:Button
id
="?"
css
="button"
>
返回首页
CSP:Button
>
< CSP:Button css ="button" > 关于作者 CSP:Button >
< CSP:Button css ="button" > 用户登陆 CSP:Button >
于是第二个和第三个标签生成的对象被优化了,成了唯一对象,然后结果就出问题了
< CSP:Button css ="button" > 关于作者 CSP:Button >
< CSP:Button css ="button" > 用户登陆 CSP:Button >
<
span
id
="?"
class
="button"
>
< a > 返回首页 a >
span >
< span class ="button" >
< a > 关于作者 a >
span >
< span class ="button" >
< a > 关于作者 a >
span >
< a > 返回首页 a >
span >
< span class ="button" >
< a > 关于作者 a >
span >
< span class ="button" >
< a > 关于作者 a >
span >
当然我事先做了优化,内部产生代码时没有直接生成
使用了replace方法
之后看来不能这样做
private
String startSpan
=
"
";
private String linkBlock = "@body";
private String endSpan = " " ;
private String linkBlock = "@body";
private String endSpan = " " ;
public
void
setBodyContent(BodyContent bodyContent)
{
this.bodyContent = bodyContent;
if (bodyContent != null) {
String text = bodyContent.getString();
System.out.println(this.hashCode());
text = text.replaceAll("\n","");
System.out.println(text);
System.out.println();
linkBlock = linkBlock.replaceAll("@body", text);
}
else {
linkBlock = linkBlock.replaceAll("@body", "");
}
}
this.bodyContent = bodyContent;
if (bodyContent != null) {
String text = bodyContent.getString();
System.out.println(this.hashCode());
text = text.replaceAll("\n","");
System.out.println(text);
System.out.println();
linkBlock = linkBlock.replaceAll("@body", text);
}
else {
linkBlock = linkBlock.replaceAll("@body", "");
}
}
于是就出现了上面的错误,确实是我的错,没经验导致的,不过这种优化可谓太新颖了,居然为了效率省略掉面向对象的原理 徐徐学习