javax.faces.view.facelets.FaceletException:注释中不允许使用字符串“ - ”

时间:2013-10-05 20:34:43

标签: jsf comments facelets

尝试在Facelets文件中的一段JavaScript代码中添加TODO条评论时

<script type="text/javascript">
    <!--

    // TODO -- my comment
    function makeExecute() {                            

    }                       

    -->
</script>

然后我面临一个例外:

javax.faces.view.facelets.FaceletException: Error Parsing /myScreen.xhtml: 
    Error Traced[line: 448] The string "--" is not permitted within comments.
        at com.sun.faces.facelets.compiler.SAXCompiler.doCompile(SAXCompiler.java:390)
        at com.sun.faces.facelets.compiler.SAXCompiler.doCompile(SAXCompiler.java:364)
        at com.sun.faces.facelets.compiler.Compiler.compile(Compiler.java:122)

这是如何引起的?如何解决?

2 个答案:

答案 0 :(得分:5)

stacktrace几乎说出来了:

  

评论中不允许使用字符串“ - ”。

根据definition

  

评论声明以<!开头,后跟零或更多   评论,然后是>。评论以--开头和结尾,并且   不包含任何“ - ”。

要消除错误,只需在评论中的--之间键入一个空格(或将其删除)。

// TODO - - my comment

答案 1 :(得分:1)

实际上在文件中;如果遇到double -,则认为评论已结束!双-也可以散布在评论中&lt;! - hello 1 - 2 - exit - &gt ;;所以它会认为评论在2之后结束。

解。删除评论中的任何-,使用其他字符。它会让你的生活更轻松。