関連する記事 XAMPP 内 Tomcat Version 7 の設定と簡単な JSP の実行テスト forEach の中の 処理で out.println が使えないので、文字列の処理は ArrayList を使用して行って、out.println は、拡張 for の中で実行しました。 この記事の趣旨は、JSP を使用して java の基礎を学習するというものなので、JSP のタグや Beans は利用しないつもりです。 sample_03.jsp
<%@ page language="java" import="java.util.*" contentType="text/html;charset=utf-8" %> <%! // ********************************************************* // ローカル関数 // ********************************************************* public String getData( HttpServletRequest request,String name ) { String value = request.getParameter( name ); if ( value == null ) { value = ""; } return value; } %> <% // ********************************************************* // ページ処理 // ********************************************************* request.setCharacterEncoding("utf-8"); String strField1 = getData( request, "field1"); String strField2 = getData( request, "field2"); // 配列 String[] month = {"睦月","如月","弥生","卯月","皐月","水無月","文月","葉月","長月","神無月","霜月","師走"}; // ArrayList に変換 ( 但し、この場合データを追加できない : 固定 : 配列と同じ ) List<String> listMonth = Arrays.asList( month ); %> <!DOCTYPE html> <html> <head> <meta content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport"> <meta charset="UTF-8"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.0/css/bootstrap.css"> <style> #main { padding: 30px; font-size: 24px; } form { margin-bottom: 20px; } .btn { vertical-align: top; } </style> </head> <body> <div id="main"> <form method="get"> <input type="text" name="field1" value="<%= strField1 %>"> <input type="submit" name="send" value="GET" class="btn btn-info"> </form> <form method="post"> <input type="text" name="field2" value="<%= strField2 %>"> <input type="submit" name="send" value="POST" class="btn btn-info"> </form> <div class="alert alert-primary"><%= request.getMethod() %></div> <% if ( request.getMethod().equals( "POST" ) ) { // 配列 for( int i = 0; i < month.length; i++ ) { out.println( String.format( "%s<br>", month[i] ) ); } out.println("<hr>"); // ArrayList for(int i = 0; i < listMonth.size(); i++ ) { out.println( String.format( "%s<br>", listMonth.get(i) ) ); } out.println("<hr>"); // 拡張 for for( String value : listMonth ) { out.println( String.format( "%s<br>", value ) ); } out.println("<hr>"); List<String> list = new ArrayList<String>(); // forEach + ラムダ式 ( ※ forEach の中で out が使えない ) listMonth.forEach( (value) -> { list.add( String.format( "%sだよ", value )); } ); for( String value : list ) { out.println( String.format( "%s<br>", value ) ); } } %> </div> </body> </html>
includeディレクティブ を用いて、jsp ファイルを二つに分割します sample_03_base.jsp
<%@ page language="java" import="java.util.*" contentType="text/html;charset=utf-8" %> <%! // ********************************************************* // ローカル関数 // ********************************************************* public String getData( HttpServletRequest request,String name ) { String value = request.getParameter( name ); if ( value == null ) { value = ""; } return value; } %> <% // ********************************************************* // ページ処理 // ********************************************************* request.setCharacterEncoding("utf-8"); String strField1 = getData( request, "field1"); String strField2 = getData( request, "field2"); // 配列 String[] month = {"睦月","如月","弥生","卯月","皐月","水無月","文月","葉月","長月","神無月","霜月","師走"}; // ArrayList に変換 ( 但し、この場合データを追加できない : 固定 : 配列と同じ ) List<String> listMonth = Arrays.asList( month ); %> <%@ include file="sample_03_part_01.jsp" %>
sample_03_part_01.jsp
<%@ page contentType="text/html;charset=utf-8" %> <!DOCTYPE html> <html> <head> <meta content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport"> <meta charset="UTF-8"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.0/css/bootstrap.css"> <style> #main { padding: 30px; font-size: 24px; } form { margin-bottom: 20px; } .btn { vertical-align: top; } </style> </head> <body> <div id="main"> <form method="get"> <input type="text" name="field1" value="<%= strField1 %>"> <input type="submit" name="send" value="GET" class="btn btn-info"> </form> <form method="post"> <input type="text" name="field2" value="<%= strField2 %>"> <input type="submit" name="send" value="POST" class="btn btn-info"> </form> <div class="alert alert-primary"><%= request.getMethod() %></div> <% if ( request.getMethod().equals( "POST" ) ) { // 配列 for( int i = 0; i < month.length; i++ ) { out.println( String.format( "%s<br>", month[i] ) ); } out.println("<hr>"); // ArrayList for(int i = 0; i < listMonth.size(); i++ ) { out.println( String.format( "%s<br>", listMonth.get(i) ) ); } out.println("<hr>"); // 拡張 for for( String value : listMonth ) { out.println( String.format( "%s<br>", value ) ); } out.println("<hr>"); List<String> list = new ArrayList<>(); // forEach + ラムダ式 ( ※ forEach の中で out が使えない ) listMonth.forEach( (value) -> { list.add( String.format( "%sだよ", value )); } ); for( String value : list ) { out.println( String.format( "%s<br>", value ) ); } } %> </div> </body> </html>
|
【java : JSPの最新記事】
- XAMPP 内 Tomcat Version 7 の設定と簡単な JSP の実行テスト
- JDK がインストールされていない PC の XAMPP の TOMCAT を Pleiades の JDK8 で動作させる
- Pleiades All in One(NEON) で、サーブレットとJSP を作成する手順
- JSP : 実行中の .jsp と同じフォルダにあるファイルの実際のパスを取得する
- java(JSP) : テーブル名一覧と列名一覧の取得
- JSP : 単純なデータベースの更新( MySQL ODBC 5.1 Driver でDSNを作成しない接続 )
- javamail 1.4.4 + JSP でとにかくメール送信
- Tomcat7 のインストールと、すぐ簡単にJSPアプリケーションテスト( DB アクセス、入力等 )
- TOMCAT6 をインストールしてサンプルアプリケーションも自動登録する