1

次のjQueryコードをJSPに配置すると:

<script>
    $(document).bind("ready",function(){
        var recordPerPages=3;
        var currentPage=1;
        var trs=$("table tr");
        alert(trs);

        function create(pageNo){
            $("table").empty();
            var endRec=pageNo*recordPerPages;
            var stRec=endRec-recordPerPages;
            trs.each(function(indx){
                if((indx+1)>=stRec && indx<endRec){
                    $("table").append($(this))
                }
            })
        }
        create(currentPage)

        $("#prev").bind("click",function(){
            currentPage=currentPage-1
            create(currentPage)
        })

        $("#next").bind("click",function(){
            currentPage=currentPage+1
            create(currentPage)
        })
    })
</script>

次に、次のエラーが表示されます。

editListContributions.jsp:38:29: Illegal token.
       if((indx+1)>= stRec && indx <  endRec){

                        ^

これはどのように発生し、どうすれば解決できますか?

4

1 に答える 1

4

これは、実際に JSP ではなく JSPX を使用している場合に発生する可能性があります。JSPX は XML ベースです。、 、などの XML のすべての特殊文字(それぞれ XML 要素の開始、XML エンティティの開始、および XML 要素の終了を表す) は、 、 および としてエスケープする必要があります。<&>&lt;&amp;&gt;

if((indx+1)&gt;= stRec &amp;&amp; indx &lt; endRec){

この判読不能な混乱に代わる方法は、スクリプト全体をCDATAブロックに入れることです。

<script>
    <![CDATA[
        ...
    ]]>
</script>

ただし、JS コードを独自の.jsファイルに配置して、<script src>.

<script src="onload.js"></script>

以下も参照してください。

于 2012-10-18T17:32:57.333 に答える