昨天在公司时,碰到个莫名其妙的bug,找了好久不知道原因,项目的框架是JSF、seam、利用Facelet做视图模板,spring、hibernate。最后发现在js代码模块中,不能含有有“>”或“<”,比如下面的代码,for循环中有个“<”:
var arr=[1,2,3];
var len=arr.length;
for(var i=0;i<len;++i){
alert(i);
}
这样会被facelet解析成标签的开始,所以会提示“Element type "len" must be followed by either attribute specifications, ">" or "/>"”。
解决方案:
把JS代码中"<"换成"<";把">"换成">"
本文记录了一个在使用JSF、seam框架结合Facelet模板时遇到的bug。问题出现在JS代码模块中包含“<”或“>”时,Facelet会错误地解析这些符号为标签开始,导致运行时错误。文章提供了修改JS代码以避免这一问题的具体方案。
4705

被折叠的 条评论
为什么被折叠?



