2017-04-05 18 views
1
<%                
    HttpSession session1 = request.getSession(); 
    String Marks = session1.getAttribute("Marks").toString(); 
    String Percentage= session1.getAttribute("Percentage").toString(); 
    String marks1 =session1.getAttribute("marks1").toString(); 
    int total = 25;  
    int m1 = Integer.parseInt(Marks); 
    int m2 = Integer.parseInt(marks1); 
    float m3 = ((m1+m2)*100)/25; 
    %> 

float m3の値をJavaScript変数に保存します。Java変数の値をJavaScript/jQuery変数に保存する

のJavaScript/jQueryのコード:

<script> 
$(document).ready(function() { // 6,32 5,38 2,34 
    $("#test-circle").circliful({ 
     animation: 1, 
     animationStep: 5, 
     foregroundBorderWidth: 12, 
     backgroundBorderWidth: 12, 
     percent: 92, 
     textSize: 25, 
     textStyle: 'font-size: 10px;', 
     textColor: '#666', 
     multiPercentage: 2, 
     percentages: [10, 20, 30] 
    }) 

}); 
</script> 

私はJavaScript変数%がm3変数私のJavaの値を取得する必要があることを望みます。これは、%の前に92を書いたので、静的ではない可変の動的変数の値を取得したいからです。

同じページで、 JavaScript変数をJava変数に格納することはできません。なぜなら、JSPページが最初に読み込まれるからです。 私のケースでは、浮動小数点型のJava変数m3をJavaScript変数%に格納したいと考えています。

私はjQueryの知識がほとんどないので、助けてください!それを行うには

+2

「92」を「<%= m3 %>」に置き換えてください。しかし、 '((m1 + m2)* 100)/ 25'の結果は' float'値ではなく、*整数*値であることに注意してください。浮動小数点が必要な場合は、変数を 'double'と定義し、' double'を強制するために '25d'で割ります。 – Andreas

+0

ようこそスタックオーバーフロー!あなたの質問を少し編集しました。あなたが4つのスペースで何かをインデントすると、 'code markdown'になります。したがって、コードをインデントすることは重要ですが、テキストをインデントしないことも重要です。 –

答えて

0

一つの方法:

 <%                
     HttpSession session1 = request.getSession(); 
     String Marks = session1.getAttribute("Marks").toString(); 
     String Percentage= session1.getAttribute("Percentage").toString(); 
     String marks1 =session1.getAttribute("marks1").toString(); 
     int total = 25; 
     int m1 = Integer.parseInt(Marks); 
     int m2 = Integer.parseInt(marks1);  
    %> 

    <script> 
     var m3 = <%= ((m1+m2)*100)/25 %>; // javascript line 
    </script> 

今m3はあなたのコードの残りの部分からアクセスjavascriptの変数、です。スクリプトコードは、JSPページ内にある場合、あなたのスクリプトは、JSPによってでロードされた別のファイルにある場合

+1

Integer.parseInt(Marks)の目的は何ですか? 'Marks'が有効な整数値を持つ文字列である場合、' <%= Marks %> 'は同じ出力を生成します。 ---また、2つのJavaScriptステートメントの最後に ';'がありません。 – Andreas

+0

はい、あなたは正しいです。修正されます – Tarlog

0

、あなたは、単に一方<%=m3>

で92を置き換えることができ、あなたはおそらく保存する必要があります値はm3のどこかに生成されたhtmlの(ちょうど上記のように)ので、スクリプトで再びそれを拾うことができます。

+0

私の問題を解決してくれてありがとう – XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

関連する問題