『デスペレーション 上・下(著:スティーブン・キング)』読み終わったけど、微妙な感じ、映画化もされてるそうな。『いのちなりけり(著:葉室麟)』もちょっと微妙、好きな作家さんの作品だけにちょいとショック。
Eclipseで、前回作ったjspSampleプロジェクトのWebContentフォルダにjspファイルを新規で作ります。
「Web」>「JSP ファイル」を選択し、「次へ(N)>」をクリック。
「ファイル名(M):」を入力し、 「次へ(N)>」をクリック。
「完了(F)」をクリック。
jspファイルが作成されます。
作成された jspファイルを編集。
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> <style> td { font-family: ""; padding: 4px 8px; } </style> </head> <body> <table border="1"> <% // 0x33(16進数) // 51(10進数) // R for(int r = 0; r <= 256; r += 0x33) { // G for(int g = 0; g <=256; g += 0x33) { %> <tr> <% // B for(int b = 0; b <= 256; b += 0x33) { String r_str = Integer.toHexString(r); String g_str = Integer.toHexString(g); String b_str = Integer.toHexString(b); // 3項演算子で記述できる // 変数 = (条件)? 成り立つとき : 成り立たないとき; // 3項演算子で処理した後に、変数を足すこともできる // 変数 = ((条件)? 成り立つとき : 成り立たないとき) + 変数; r_str = ((r_str.length() == 1)? "0" : "") + r_str; g_str = ((g_str.length() == 1)? "0" : "") + g_str; b_str = ((b_str.length() == 1)? "0" : "") + b_str; out.print("<td><span><span style='color: #" + (r_str + g_str + b_str) + "'>■ </span>" + r_str + g_str + b_str + " </span></td>"); } out.println(); } %> </tr> <% } %> </table> </body> </html>
赤色(RGBのうちのR)を例にとりますが、
String r_str = Integer.toHexString(r); r_str = ((r_str.length() == 1)? "0" : "") + r_str;
の部分は、
String R = ((r < 16) ? "0" : "") + Integer.toHexString(r);
のように、数値(整数)を比較条件にしたほうが良さそうです。
サーバーで実行。 の▼をクリックし、「実行(R)」>「1 サーバーで実行」をクリック。
「次へ(N)>」をクリック。
「構成済み(C):」にプロジェクトが追加されていればOK。「完了(F)」をクリック。
サーバーが起動されます。
『http://localhost:8080/プロジェクト名/jspファイル名』で表示されればOK。
for文の入れ子(ネスト)は、3重ぐらいまでにしたほうが良いようです。 配列を使ってもできるようですが、大量のデータを扱う場合は、最初のInteger.toHexString()を使っていくほうが、メモリ的にも良いようです。その場の状況によって使い分けが必要になってくるようです。
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <table border="1"> <% // String[] rgb = {"00","33","66","99","cc","FF"}; for(int r = 0; r < rgb.length; r++) { for(int g = 0; g < rgb.length; g++) { %> <tr> <% for(int b = 0; b < rgb.length; b++) { out.print("<td><span style='color: #" + (rgb[r] + rgb[g] + rgb[b]) + "'>■</span>" + rgb[r] + rgb[g] + rgb[b] + "</td>"); } %> </tr> <% } } %> </table> </body> </html>
今回はこのへんで。