java から HTML へのデータ受け渡しについて(詳細版)

以前、「java から HTML へのデータ受け渡しについて」の記事を書きました。
https://somegoro.blogspot.jp/2016/11/java-html.html
この記事ではざっくりした内容しか書かれていない所謂簡易版だったので、今回は内容をもう少し掘り下げた記事を書きます。

思えば上記の記事を書いたころはIT業界に久しぶりに戻ってきたときでした。プログラミングどころかエクセルの使い方もすっかり忘れていて、なんでもかんでもWebで調べていたことを思い出します。何をするにも時間がかかって、当時の現場の皆さんには迷惑をかけただろうなぁ。当時の私はまったく余裕が無かったので、強気な発言ばかりしていました。

さて、思い出すこともそれくらいにしておいて本題に入ります。
「java → HTML のデータ渡し」についてです。ここの部分のデータの渡し方は色々あるのですが、私が最も簡単だと思う方法を今日は記事に書きます。具体的にはjQueryを使います。

jQueryには、便利なデータ受け渡し処理が用意されています。代表的なのが次の3つです。
・$.get
・$.post
・$.ajax

$.get はGETでサーバにデータ送信する処理です。$.post も同じようにPOSTでサーバにデータ送信する処理。$.ajax は記述の仕方次第でGETでもPOSTでもサーバにデータ送信することが出来る処理です。私は便利なので、ほとんど $.ajax を使用しています。GETで送るかPOSTで送るかは、用途によって選択するのが一般的です。

サーバにデータを送信する処理は上記3つですが、サーバからのデータ取得はどのようにするのか。実はこれもサーバにデータを送信する上記3つの処理を使用します。どれでもいいのですが、やはり私は便利なことを理由に$.ajax を使用します。$.ajaxのブロックチェーンには、サーバからデータを取得することが出来る次の処理が用意されています。
・done(function(data) {...}
・success: function(data){...}

2つ書きましたが、どちらを使用してもサーバからのデータを取得することは出来ます。jQueryのバージョンによって推奨しているものがあるので、使用しているjQueryのバージョンを確認して推奨していう方を使用するのがいいでしょう。

引数にdataと書いていますがここの名称は任意でいいです。引数で指定した任意の名称のオブジェクトにデータが入っています。では、どのようなデータが入っているのでしょうか。それはサーバで出力したデータです。サーバ側のプログラムであるjavaでprintln で出力してやれば、上記に書いたdataに自動で取得されます。細かいことはみんなjQueryがやってくれるのですね、便利ですね。

それでは最後に通してで記載しておきます。
javascript
$.ajax({
   type: "POST",
   url: "/javaClassName",
   success: function(data){
     alert(data);
   }
 });

java
public class javaClassName {
  ...
  ...
  ...
  System.out.println(678);
}

以上、java → HTML のデータ渡しの詳細でした。

上司がクソ野郎になってきた

上司がクソだ。 全然勉強していなくて話が通じなくてクソ REST知らないってどういうことなんだろう。弊社標準になってから久しいJavaをまともに組めないってのはどういうことなんだろう。 計画上では詳細設計フェーズが半分を過ぎようというときに要件定義できていないってのはどう...