シリーズJavaの画面表示のつづきです。
今まで、JSPで表示画面を作成し、サーブレットで処理部分を書くということをやっていました。で、それは一通りやったので、今度は、JSPで表示部分を書いて、そこからJavaのクラスを呼び出すということをしてみたいと思います。
ふつう、このやり方をやるとき、JSPからJavaBeanを呼び出すという言い方をするのですが、実際には、パッケージ.クラスというカタチになっているものであれば、JavaBeanということを意識しなくても(よくあるgetter/setterがなくても)呼び出すことが可能です。
ということで、今回から、これについて書きたいと思います。
なお、Tomcatは、4.1を使って実験しています(理由はここ)
■仕様
いままで、
・index.jspで、入力してもらい
・サーブレットshori.classで処理をして
・kekka.jspで結果表示
としていました。
今回は、
・index.jspで、入力してもらい
ここで、いきなりkekka.jspを呼び出し、
・kekka.jspで、処理を行うためにJavaのクラスを呼び出し
・結果をJSOで表示するというようにします。
■概要
JSPから、Javaのクラスを呼び出すには、
<%@ page language="java" import="パッケージ名.*" %> <jsp:useBean id="名前" class="パッケージ名.クラス名"/> |
(実際には< > は半角です)
のカタチで、パッケージと、クラスを指定して、呼び出します。
メソッドをつかうときは
名前.メソッド名(引数・・・)
というカタチで使います(クラス名ではなく、上でつけた名前です)
名前で指定するということは、同じクラスで、複数の名前のものを作って
処理することも可能です。
たとえば、3個入力してもらって、
<%@ page language="java" import="pak.*" %> <jsp:useBean id="shori1" class="pak.shori"/> <jsp:useBean id="shori2" class="pak.shori"/> <jsp:useBean id="shori3" class="pak.shori"/> |
とかいて、
shori1.execute("1個目の入力);
shori2.execute("2個目の入力);
shori3.execute("3個目の入力);
というように、3つ別々に処理させることもできます。
一方、クラスのほうは普通に?書いてくれればいいです。
で、どこにおくかは、置く場所が決まっている(ものがある)ので、
適切にクラスやJSPなどなどを置いてもらえばOKということになります。
このシリーズの次回では、JSPとJavaのソースを紹介していきます。