jsf的xthml文件中的javascript中的不等号("<")引发错误(在netbeans中)

sei*_*cle 4 javascript xhtml jsf netbeans

可能重复:
javax.servlet.ServletException:错误解析/page.xhtml:元素的内容必须包含格式良好的字符数据或标记

这是一个jsf 2.0项目.

xhtml文件:

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html">
    <h:head>
        <title>Ring</title>
        <h:outputScript library="js" name="jquery-1.8.1.min.js" />
        <h:outputScript library="js" name="processing-1.4.1.js" />

        <script type="text/javascript">
            $(function(){
                var pjs = Processing.getInstanceById("viz");
                var json = #{TableMatchesBean.json};
                var data = eval("("+json+")");
                if(data) {

                    for(i=0; i<data.segments.length; i++) {
                        var segment = data.segments[i];
                        pjs.addSegment(segment.label, segment.count,segment.isMain);
                    }
                }
            }); //end ready
        </script>

    </h:head>
    <h:body>

        <canvas id ="viz" data-processing-sources="common.pde"></canvas>

    </h:body>
</html>
Run Code Online (Sandbox Code Playgroud)

在javascript的for循环的第一行,

for(i=0; i<data.segments.length; i++) {
Run Code Online (Sandbox Code Playgroud)

Netbeans引发了这个错误:"致命错误:元素类型"data.segments.length"必须后跟属性规范,">"或"/>"."

此错误表明"<"被解释为某些xhtml,而不是js(我认为).这是Netbeans的错误还是js和xhtml之间确实存在混淆?

epa*_*llo 18

将JavaScript代码移动到外部JavaScript文件

要么

使用CDATA

<script type="text/javascript">
 //<![CDATA[
  var i = 0;

  while  (++i < 10)
  {
    // ...
  }
 //]]>
</script>
Run Code Online (Sandbox Code Playgroud)