3
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!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:composite="http://java.sun.com/jsf/composite"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:p="http://primefaces.prime.com.tr/ui">

<h:head>

    <script src="/resources/js/jquery-1.7.2.js" ></script>

    <script >

        $j=jQuery.noConflict();

        function appendText() {
            alert('hi');
            var txt1 = "<p>Text.</p>";
            var txt2 = $j("<p></p>").text("Text.");
            var txt3 = document.createElement("p");
            txt3.innerHTML = "Text.";
            $j("p").append(txt1, txt2, txt3);
        }

        function appendList() {
            var item1 = "<li>List item</li>";
            var item2 = $j("<li></li>").text("List item");
            var item3 = document.createElement("li");
            item3.innerHTML = "List item";
            $j("ol").append(item1, item2, item3);
        }
    </script>
</h:head>

<h:body>

<f:verbatim>
<p>This is a paragraph.</p>
<ol>
<li>List item 1</li>
<li>List item 2</li>
<li>List item 3</li>
</ol>
<button id="btn1" onclick="appendText()">Append text</button>
<button id="btn2" onclick="appendList()">Append list items</button>
</f:verbatim>
<h:form>
<h:commandButton value="jsf cmd btn APPEND TEXT" onclick="appendText()" id="btn3"/>


</h:form>
</h:body>

</html> 

これは、スクリプト内に JQuery コードを含む単純な JSF ページです。

実行すると、ページが正しく読み込まれます。ただし、JQuery スクリプトを呼び出しているわけではありません。

理由がわかりません...何が間違っているのか教えてください。

前もって感謝します。

4

1 に答える 1

2

jQuery をインクルードする script タグを削除する必要があります。

Primefaces は jQuery にバンドルされているため、web.xml 構成ファイルで Primefaces Resources サーブレットを正しく構成すると、すべての Web ページに自動的に含まれます。

編集:

また、$ 文字は式の予約文字であるため、JSF ページで jQuery を呼び出すために使用することはできません。長い形式で jQuery を呼び出す必要があります...

jQuery('.example').click();

編集2:

また、Javascript を一重引用符と二重引用符の両方と同時に混在させないようにしてください。

        alert('hi');
        var txt1 = "<p>Text.</p>";

引用文字を 1 つ選び、それを使い続けます。これは良い習慣です。

于 2012-10-19T11:54:51.073 に答える