21

JSP で JavaScript の値を Scriptlet に渡す方法を誰か教えてもらえますか?

4

9 に答える 9

17

2つの方法を提供できます。

a.jsp

<html>
    <script language="javascript" type="text/javascript">
        function call(){
            var name = "xyz";
            window.location.replace("a.jsp?name="+name);
        }
    </script>
    <input type="button" value="Get" onclick='call()'>
    <%
        String name=request.getParameter("name");
        if(name!=null){
            out.println(name);
        }
    %>
</html>

b.jsp

<script>
    var v="xyz";
</script>
<% 
    String st="<script>document.writeln(v)</script>";
    out.println("value="+st); 
%>
于 2011-04-18T10:10:04.027 に答える
12

JavaScript の値はクライアント側であり、スクリプトレットはサーバー側で実行されています。そのため、スクリプトレットで JavaScript 変数を使用する場合は、それらを送信する必要があります。

これを実現するには、それらを入力フィールドに保存してフォームを送信するか、ajax リクエストを実行します。これについては、JQueryを調べることをお勧めします。

于 2011-04-18T10:53:40.963 に答える
2

簡単です、できません!

JSP はサーバー側、javascript はクライアント側です。これは、javascript が評価される時点で「jsp コード」が存在しないことを意味します。

于 2011-04-18T09:43:59.807 に答える
1

私はこの質問を次のように解釈しました。

「 JSP で使用する JavaScript の値渡す方法を誰か教えてもらえますか?」

その場合、この HTML ファイルは、サーバーが計算した変数を JSP の JavaScript に渡します。

<html>
    <body>
        <script type="text/javascript">
            var serverInfo = "<%=getServletContext().getServerInfo()%>";
            alert("Server information " + serverInfo);
        </script>
    </body>
</html>
于 2011-04-18T09:56:18.660 に答える
0

JavaScriptであるjspから別のjspにjavascript値を渡したいと言っている場合は、URLRewritingテクニックを使用してjavascript変数を次のjspファイルに渡し、リクエストオブジェクトの次のjspでそれにアクセスします。

そうでなければ、それを行うことはできません。

于 2011-04-18T09:46:20.503 に答える
0

あなたが期待しているように、それは不可能です。しかし、あなたはこのようなことをすることができます。Javaスクリプトの値をサーブレット/コントローラーに渡し、処理を行ってから、この値を要件としていくつかのオブジェクトに入れてjspページに渡します。その後、必要に応じてこの値を使用できます。

于 2011-04-18T10:02:59.910 に答える