昨天在公司时,碰到个莫名其妙的bug,找了好久不知道原因,项目的框架是jsf、seam、利用facelet做视图模板,spring、hibernate。最后发现在js代码模块中,不能含有有“>”或“<”,比如下面的代码,for循环中有个“<”:
这样会被facelet解析成标签的开始,所以会提示“element type "len" must be followed by either attribute specifications, ">" or "/>"”。
解决方案:
把js代码中"<"换成"<";把">"换成">"
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项目中JS代码特殊字符问题
本文介绍了一个在使用JSF、Seam及Facelet的项目中遇到的关于JavaScript代码中的特殊字符“<”和“>”被错误解析的问题。当这些符号出现在JS代码中时,会被Facelet误认为是标签的一部分,导致语法错误。文章给出了具体的错误示例及解决办法,即将“<”替换为“&lt;”,将“>”替换为“&gt;”。
4706

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



