シリーズJavaの画面表示のつづきです。現在、JSPから、Javaのクラスを呼び出す話をやっています。
前回は仕様と、概要を書きました。
ソースとしては
・index.jsp
・kekka.jsp
・Javaのプログラム
の3つになります。
今回は、この3つのソースを紹介します。
■呼び出し先index.jsp
値を入れて、kekka.jspを呼び出す部分です。
<html> <head> <% //==============================================// // 画面用の部分 // //==============================================// // 変数を受け取る String msg = request.getParameter("msg"); if ( msg == null ) { msg = ""; } //==============================================// // 以下、画面表示 // //==============================================// %> <title>早打ちの練習</title> </head> <body> <h1><font color=red><%=msg%></font></h1> <H1>早うちの練習</H1> 以下の文を打とう!<BR> <B>This is a pen</B><BR> <form method=get action="http://127.0.0.1:8080/test/jsp/kekka.jsp"> <input type=text name=nyuryoku size=20><P> <input type=submit name=do value=打ち終わった!><P> </form> </html> |
(上記< > ¥は、本当は半角です)
JSPとサーブレットのときとの違う部分については、
赤字にしてあります。
■結果表示kekka.jsp
結果を表示します。そのため、Javaのクラスを呼び出します。
<html> <head> <title>早打ちの練習</title> </head> <body> <%@ page language="java" import="pac1.*" %> <jsp:useBean id="shori1" class="pac1.Shori1"/> <% //==============================================// // 画面用の部分 // //==============================================// // 変数を受け取る String nyuryoku = request.getParameter("nyuryoku"); //==============================================// // 以下、画面表示 // //==============================================// %> <H1>結果</H1> 正解率 = <%=shori1.rituKeisan(nyuryoku) %><BR> </html> |
(上記< > ¥は、本当は半角です)
JSPとサーブレットのときとの違う部分については、
赤字にしてあります。
■Javaのソースコード Shori1.java
Javaのソースコード部分です。今回、新規になります。
pac1というパッケージの中に入れています。
package pac1; public class Shori1 { public String rituKeisan(String nyuryoku) { //==============================// // データの取得 // //==============================// if ( nyuryoku == null ) { return "NO DATA!"; } else if ( nyuryoku.length() == 0 ) { return "NO DATA!"; } // 処理 int i,atari; atari = 0; String chk = "This is a pen"; for(i = 0 ; i < nyuryoku.length() ; i ++ ) { if ( i >= chk.length() ) { break; } else if ( chk.charAt(i) == nyuryoku.charAt(i) ) { atari++; } } //==============================// // 結果を返す // //==============================// return Integer.toString(atari*100/chk.length()); } } |
(上記< > ¥は、本当は半角です)
JSPとサーブレットのときには、なかったソースになります
(サーブレットと、入れ替えになります)
このプログラムは、setterとかgetterとかはつかわず、必要なメソッドrituKeisanだけを書いています。なんで、JavaBeanという感じはしませんよね。
ただ、Packageにいれないと、Tomcat4.1だと、”.がありません”というエラーになるので、パッケージにはいれときました。
今回のソースはここまでです。
次回は、このソースをどこに置くかについてなどの話を書きます。