Apache MyFaces のテーブル・サンプルプログラム
このページでは, Apache MyFaces が持つ拡張機能のうち テーブルについて, プログラムの見本や,説明する.
前準備
Java 25(Temurin 25 JDK) のインストール
Eclipse Temurin(Adoptium)のインストールを行い、Javaのプログラムをコンパイル・実行する環境を整える。扱う環境は、Windows搭載パソコンである。現時点(2026年6月)での最新LTS版である Java 25(Temurin 25 JDK)を推奨する。
[Windows での Java 25(Temurin 25 JDK) のインストール手順を見るには、ここをクリック]
Windows での Java 25(Temurin 25 JDK) のインストール
以下のいずれかの方法で Java 25(Temurin 25 JDK)をインストールする。JDKがインストール済みの場合、この手順は不要である。
方法 1:winget によるインストール
【インストールコマンドの実行方法】
管理者権限でコマンドプロンプトを起動する(手順:Windowsキーまたはスタートメニュー → cmd と入力 → 右クリック → 「管理者として実行」)。そして、コマンド全体をコマンドプロンプトにコピー&ペーストする。
Temurin の Windows インストーラー(.msi)は、ユーザー単位ではなくマシン単位でインストールされる(1台に1つのインストール)。そのため、システム全体(全ユーザー向け)にインストールするには管理者権限が必要である。インストール完了後、コマンドプロンプトを再起動するとPATHが反映される。
REM Java 25(Temurin 25 JDK) をインストール(PATH と JAVA_HOME を更新)
winget install --id EclipseAdoptium.Temurin.25.JDK -e --silent --accept-source-agreements --accept-package-agreements --override "ADDLOCAL=FeatureMain,FeatureEnvironment,FeatureJarFileRunWith,FeatureJavaHome INSTALLDIR=\"C:\Program Files\Eclipse Adoptium\jdk-25\" /quiet"
上記の --override 内の指定の意味は次のとおりである。FeatureEnvironment はPATH環境変数の更新、FeatureJavaHome は JAVA_HOME 環境変数の更新、FeatureJarFileRunWith は .jar ファイルとJavaアプリケーションの関連付けである。INSTALLDIR はインストール先フォルダの指定である。
方法 2:インストーラーによるインストール
- Adoptium公式サイト(https://adoptium.net/temurin/releases/)にアクセスし、Version として「25 - LTS」、Operating System として「Windows」を選び、
.msi形式のWindows用インストーラーをダウンロードする。 - ダウンロードした
.msiファイルを実行し、インストールプログラムを起動する。 - ライセンス条項を確認し、同意できる場合はチェックを入れて次へ進む。
- 「Installation Scope」画面では「Install for all users of this machine」を選ぶ
- 「Custom Setup(カスタムセットアップ)」画面で、インストールする機能を選択する。既定では「Add to PATH(PATH環境変数への追加)」と「Associate .jar」(.jarファイルの関連付け)が有効になっている。さらに、ツリー内でバツ印(×)が付いている「Set JAVA_HOME variable(JAVA_HOME環境変数の更新)」をクリックして有効に変更することを推奨する。これらを有効にしないと、コマンドプロンプトから
javaコマンドを実行できなかったり、開発ツールがJDKを見つけられなかったりする。 - 「次へ (Next)」をクリックし、続いて「インストール (Install)」をクリックしてインストールを開始する。完了後「Finish」で閉じる。
インストールの確認
コマンドプロンプトで以下を実行する。
java --version
バージョン番号(例:openjdk 25.x.x)が表示されればインストール成功である。「'java' は、内部コマンドまたは外部コマンドとして認識されていません。」と表示される場合は、インストールが正常に完了していないか、PATHが反映されていない(コマンドプロンプトを再起動して再度確認する)。
あわせて、コンパイラと JAVA_HOME も確認しておくとよい。
javac --version
echo %JAVA_HOME%
Eclipse のインストール
Eclipse をインストールする。扱う環境は、Windows搭載パソコンである。
Windows での Eclipse のインストール 以下のいずれかの方法で Java 25(Temurin 25 JDK)をインストールする。JDKがインストール済みの場合、この手順は不要である。 方法 1:winget によるインストール 【インストールコマンドの実行方法】 管理者権限でコマンドプロンプトを起動する(手順:Windowsキーまたはスタートメニュー → winget が使えない場合や,インストール先・パッケージ種類を画面で選びながら導入したい場合は,次の方法を用いる。 方法 2:インストーラーによるインストール 公式サイトからダウンロードしてインストールできる。詳しくはhttps://www.kkaneko.jp/tools/win/eclipse.htmlで説明している。 Eclipse の初期設定、使用方法の基本 詳しくはhttps://www.kkaneko.jp/tools/win/eclipse.htmlで説明している。[Windows での Eclipse のインストール手順を見るには、ここをクリック]
cmd と入力 → 右クリック → 「管理者として実行」)。そして,コマンド全体をコマンドプロンプトにコピー&ペーストする。REM Temurin 25 JDK をインストール
winget install --id EclipseAdoptium.Temurin.25.JDK -e --accept-source-agreements --accept-package-agreements
その他
- Eclipse の Web, XML, and Java EE Development に関するプラグインのインストールが終わっていること
- 「Tomcat インストール」の Web ページの記述に従って,Tomcat のインストールが終わっていること.
- 「Eclipse 内部の tomcat サーバ」を使えるようにするために, 「Eclipse を使用しての Java サーブレット・プログラムの開発」の Web ページに記載 の「新規サーバの定義」を行っておくこと.
事前の準備
「JavaServer Faces サンプルプログラム」の Web ページの記述に従って,下記の作業を終えていること.
- Eclipse での動的 Web プロジェクトの作成
- Apache MyFaces バージョン 2.0 に関するファイル群 jsf-blank のインポート
Eclipse での操作手順
http://www.irian.at/myfacesexamples/home.jsf (現存しない) に記載されていたテーブル(Data Table)(Sortable) を使うプログラムの見本と操作手順を説明する.
- http://www.irian.at/myfacesexamples/home.jsf
- 「Sortable」をクリック
- SimpleSortableCarList.java, SimpleCar.java をダウンロード
- SortableList.java をダウンロード
- Eclipse のパッケージ・エクスプローラ等を使い,新しいパッケージ org.apache.myfaces.examples.listexample を作成
- (もし,プロジェクト・エクスプローラが開いていなければ)プロジェクト・エクスプローラを開く
「ウインドウ」→「ビューの表示」→「プロジェクト・エクスプローラ」 と操作する.
Java パッケージの作成,クラスの作成などの作業は,プロジェクト・エクスプローラで行う.
- Java パッケージを新規作成すべきプロジェクトの選択
プロジェクト・エクスプローラに,プロジェクト一覧が表示されているはずです. Java パッケージを新規作成したいプロジェクト名 MYFACES を右クリックして, 「新規」→「パッケージ」と操作する.
- Java パッケージ名の設定
「Java パッケージ (Java package)」の名前として,Java パッケージ名 org.apache.myfaces.examples.listexampleを記入する.
その後,「終了」をクリック.
- Java パッケージの確認
プロジェクト・エクスプローラにおいて, Java パッケージ org.apache.myfaces.examples.listexample が増えていることを確認する.
- (もし,プロジェクト・エクスプローラが開いていなければ)プロジェクト・エクスプローラを開く
- パッケージ org.apache.myfaces.examples.listexample
に,3 つの新しいクラス SimpleSortableCarList, SimpleCar, SortableList を作成
- パッケージ org.apache.myfaces.examples.listexampleを右クリックして, 「新規」→「クラス」と操作する.
- 「名前」にSimpleSortableCarList, SimpleCar, SortableList を指定して、新しいクラスを作成することを繰り返す.
- ダウンロードした SimpleSortableCarList.java, SimpleCar.java,
SortableList.java を,Eclipse でコピーアンドペースト.
プロジェクト MYFACES のパッケージ hoge.hoge.com にインポート
- Eclipse で,index.jsp を編集
<%@ page session="false" contentType="text/html;charset=utf-8"%> <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%> <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%> <%@ taglib uri="https://myfaces.apache.org/tomahawk" prefix="t"%> <html> <!-- /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ //--> <body> <f:view> <h:form> <t:dataTable styleClass="standardTable" headerClass="standardTable_SortHeader" footerClass="standardTable_Footer" cellpadding="2" cellspacing="2" width="100%" border="1" var="car" value="#{list.cars}" sortColumn="#{list.sort}" sortAscending="#{list.ascending}" preserveDataModel="false"> <f:facet name="header"> <h:outputText value="(header table)" /> </f:facet> <f:facet name="footer"> <h:outputText value="(footer table)" /> </f:facet> <h:column> <f:facet name="header"> <t:commandSortHeader columnName="type" arrow="true" id="type"> <h:outputText value="type" id="t1" /> </t:commandSortHeader> </f:facet> <h:outputText value="#{car.type}" /> </h:column> <h:column> <f:facet name="header"> <t:commandSortHeader columnName="color" arrow="true" id="color"> <h:outputText value="color" id="c1" /> </t:commandSortHeader> </f:facet> <h:outputText value="#{car.color}" /> </h:column> </t:dataTable> </h:form> </f:view> </body> </html> - WebContenr/WEB-INF/lib/faces-config.xml の編集
Tomcat 6.0 用の設定例です.
<?xml version="1.0"?> <faces-config xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd" version="2.0"> <managed-bean> <managed-bean-name>list</managed-bean-name> <managed-bean-class>org.apache.myfaces.examples.listexample.SimpleSortableCarList</managed-bean-class> <managed-bean-scope>session</managed-bean-scope> </managed-bean> </faces-config> - 実行結果