2017-03-09 5 views
0

私はjava + htmlでjspファイルを使っています。私の選択リストは、のint kのjavaコードの一部をout.printlnに変更することができるように、私がすでに行っているGoogleの円グラフのさまざまなデータセットを希望します。ここまでで、単純な選択リストの作成方法を知りました。 他にどのような情報や技術を集めるべきですか? ありがとうございます。私のHTML選択リストにJavaの応答をする方法

<select name="monthpick" id="monthpick"> 
    <option value="0">Jan16</option> 
    <option value="1">Feb16</option> 
    <option value="2">Mar16</option> 
</select> 

私は私が何をしたいデータセットを選択できるようにリストがKに値を渡すことができますしたいです。

<% 
String columnName = pchart.getColumnHeader(k); 
String[][] pdata = pchart.getPieChartData(columnName, rowTitle); 
for (int i=0;i<pdata.length;i++){ 
     out.println("["); 
     for (int j=0;j<pdata[i].length;j++){  
      //...many out.println() 

     } 
    } 
%> 

ただ、参考のために、ループは、円グラフについては、以下のようなSTHをout.printます:

['AA', 31578049.4], 
['BB', 8668926.34], 
['CC', 181917208.64], 
['GG', 164748309.85], 
['NN', 0], 
['PA', 0], 

答えて

0

あなたは本当にあなたがやろうとしている方法をやろうとしているものを行うことはできませんそれ。

バックエンドのブラウザにHTMLをレンダリングするために、選択コードとスクリプトレットコードの両方がソースになります。

ただし、いくつかの方法で対応できます。

オプション1.サーバーに選択内容を送信して、円グラフデータをポストとして取得するか、フォーム送信で取得できます。 JavaScriptを使用してデータを受け取り、出力を生成することができます。また、ajax呼び出しを使用して円グラフデータを取得し、JavaScriptを使用して円グラフデータをレンダリングすることもできます。

オプション2. バックエンドに行くフォームからリクエストを送信できます。変数kが設定されている場合は、値をレンダリングすることができます。

基本的にはそう

http://myhost/some/mypage.jsp?colorpick=Jan16のようなあなたのクエリを送信することができます。または通常のフォームには、ジャバスクリプトブロック内のデータをプリロードして、JavaScriptを介してデータにアクセスすることができます3. mypage.jsp

<% 

if (request.getParameter("colorpick") != null) { 
    String k = (String)request.getParameter("colorpick"); 
    String columnName = pchart.getColumnHeader(k); 
    String[][] pdata = pchart.getPieChartData(columnName, rowTitle); 
    for (int i=0;i<pdata.length;i++){ 
     out.println("["); 
     for (int j=0;j<pdata[i].length;j++){  
      //...many out.println() 

     } 
    } 
} 


%> 

オプションに

を提出します。それは最適ではありませんが、うまくいくでしょう。 JavaScript変数に格納するデータがたくさんあるため最適ではないと私は言う。

キーソリューションは、JavaScriptを使用してその操作を処理することだと思います。ブラウザはブラウザ内でJavaコードを実行できません。クライアントに要求を送信する前に実行されます。だからあなたのJavaCodeは良いクライアント側ではありません。

こちらがお役に立てば幸いです。

+0

こんにちは、フェルナンドZ、私は私が必要とするすべての円グラフを生成するためにループを使用しているという新しいアイデアを得た場合(10)。次に、選択リストとjs関数を作成して、 'style = display:none'を制御して、どのチャートを表示したいのかを制御します。いいですか? – KenyKeny

+0

はい...あなたはそれを行うことができます。 – FernandoZ

関連する問題