-1

Javascript エンジンは以下のコードをどのように解釈できますか?

HTML に埋め込まれた JSTL タグだけが解釈されると思いましたか?

<script type="text/javascript">
    <c:choose>
        <c:when test="${fn:contains(val, 'test')}">
            alert('test);
            </c:when>
    </c:choose>
</script>
4

2 に答える 2

4

JavaScript エンジンは JSTL を認識しないため、JSTL を解釈しません。JSTL は、応答がブラウザーに送信される前にサーバー側で処理されます。JSTL/Java 側は JSTL/Java コードのみを考慮します。それ以外は基本的にそのまま応答で渡されます。したがって、script 要素を含めるか、JavaScript やその他の html 要素を含めるかは関係ありません。すべてが応答の一部になります。

ブラウザー内で [View Page Source] を選択すると、ブラウザーが受け取ったコードが表示されます。コードには JSTL が含まれていません。

あなたの特定の例では、応答には、JSTL テストの結果に応じて、その 1 行の script 要素alert('test')または空の script 要素のみが含まれます。

于 2013-02-08T10:45:51.217 に答える
0

JSTL タグが埋め込まれた JSP ファイルを処理する Java Servlet / JSP サーバー (Tomcat など) を実行する必要があります。ブラウザーは JSTL タグを認識しなくなります。

于 2013-02-08T10:49:10.000 に答える