質問: 現在strutsの学習をしています。 現状では、 「A.jsp」に存在するボタンを押下すると、 「B.jsp」へ遷移し、DBからデータを取得した値を選択リストの中に入れている状態です。 そこで、ここから「選択リスト1」の値を変えると、 自動的に「選択リスト2」の値が「選択リスト1」の値に対応した値のみに 変更されるというものを作りたいと思っています。 ・選択リスト1 →ここを変えると下の選択リスト2の値が変更される。 ・選択リスト2 そこで、javascriptのonchangeを使用して、 actionクラスを呼び出そうとしているのですが、 どうしても表示ができません。 そこで以下の点についてお聞きしたいです。 ・onchangeを使用してactionクラスを呼び出す方法 ※functionの中身に記述するコードはどのようなものがよろしいのでしょうか。 ・使用するactionクラスについて ※現在「A.jsp」のボタンで使用するactionクラス内のif分岐で、 ボタンの処理と「B.jsp」で使用するonchangeでの処理を分岐させようとしているのですが、 そもそものactionクラスを分けてしまった方がよろしいのでしょうか。 (「B.jsp」では別の処理でactionクラスを使用する予定です。) お手数ですが、教えていただければ幸いです。 宜しくお願い致します。
回答: 回答からずれますが、今から学習するのに`struts1`、`struts2`は古すぎると考えます。 (特に`struts1`はすでにメンテナンスされていない) JSPを扱うフレームワークであれば、`Spring`をお勧めします。 その上で回答します。(フレームワークに依存しない内容と見受けましたので) 選択リスト(``)の`onchange`イベントでアクションを呼び出すのであれば、 ``の上位の``要素の`action`属性に呼び出したいactionのURL(パス)を記述しておいて、`onchange`イベントの際にその`form`の`submit`を呼び出すjavascriptコードを実装するとよいかと思います。 #素のjavascriptかjQueryライブラリを使うかで、書き方が変わるので、例は割愛します。