2

javascript変数をjspに割り当てる必要があります。これを行うには、フォーム内のhtml非表示フィールドをサーバーに送信します。

しかし、最後にjspの値は常にnullです。これらのjspコードとjavascriptは同じページにあります。コードを見てください:

<html>
    <body>
        <form  action= "Custom_DHTMLDashboard_Content.jsp" method="post">
            <input type="hidden" id="hiddenField"    />
            document.getElementById("hiddenField").value = reportID;
            <input type="submit" value="Submit" />
        </form>
    </body>
</html>

<%String MyID = (request.getParameter("hiddenField"));%>
alert("this is scriptlet" + "<%=MyID%>");//always null
4

1 に答える 1

0

必要がある:

  1. スクリプト<script>をタグで囲みます ( document.getElementById("hiddenField").value = reportID;)
  2. reportIDどこかを定義する(使用する前に)
  3. で出力したデータをエスケープ<%=MyID%>します。フィルタリングもエスケープもされていないデータをページに出力することは、XSS の脆弱性を作る方法です

それを修正した場合:

  • ページを初めてロードするときは<%=MyID%>null になります
  • フォームを送信すると、値が設定されます
于 2012-07-27T06:53:38.193 に答える