質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

5881閲覧

jspの配列データをjavascriptに渡したい

ataru2222

総合スコア272

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2021/05/09 21:41

前提・実現したいこと

servletでDBデータを取得したものをjspに渡し、javascriptを経由してchart.jsで描画したい。

流れ
servletのDBデータ → jsp → javascript → chart.js

発生している問題・エラーメッセージ

表示(HTMLやjsp)で持っている配列データをjavascriptに渡すやり方が分かりません。

詳細としましては・・・
EL式${ } の中に入っている配列データを
inputタグやなどのidに紐づけるやり方がわからない

該当のソースコード

こちらのデータが配列として入っており、jspにて別の部分ではEL式で使っております。

servlet

1request.setAttribute("test_EL", test_EL);

↓こちらのコードを使えば1つのデータの値の取得ならできるのですが、配列を取得する書き方が分かりません。

javascript

1const test_js_array = document.getElementById('test_js_array') 2let test = []; 3test_js_array.addEventListener('click', () => { 4 const name3 = test_js_array.value; 5 test.push(name3); 6 console.log(test); 7})

試したこと

・スクリプトレット<% %>にてEL式は使えない
・こちらのサイトを参考にhttp://tag.main.jp/beandefine.html
bean:defineタグやbean:writeタグを試すもstrutsというものを使っていないため「不明なタグ」と表示
・jstlの<c:forEach>内に<script>タグでjavascriptを書いて回しながらjavascriptで配列に格納できないかと考えた。
→うまくいかず。(読み込み時のタイミングの問題?)

グラフを描画するためにどうしてもjavascriptに配列データを渡す必要があります。

配列で渡してしまう方法、javascript側で配列に格納してしまう方法など
いろんなやり方があると思うのですが、不格好でもいいので解決方法がお分かりになられる方いらっしゃいましたら、ご教示ください。

よろしくお願いいたします。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Javaで作った配列をJSONエンコードして「JavaScriptで配列として見える文字列」に変換すれば良いと思います。
JSPはあくまでサーバーサイド。JavaScriptが見れるのはコンパイルされたあとブラウザに表示された情報(HTML)です。
なので考えるべきは「どういう文字列を出力すればJavaScriptで配列と解釈できる形式になるか」です。
動的ではなく固定でJavaScriptで利用する配列の形式を作り、その形式の文字列を出力するように組みます。

投稿2021/05/10 00:11

m.ts10806

総合スコア80875

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ataru2222

2021/05/10 11:01

ご回答していただきましてありがとうございます。 「文字列」というヒントを元にjava側で配列を全て1つの文字列データにした上でjavascriptのsplit関数を用いて配列データを作成してみます。 この方法ならグラフ描画までいけそうな気がします。 本当にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問