@634

JSF - HelloWorldプログラムの作成

Advertisement

HelloWorldプログラムの作成

HelloWorldプログラムといっても、JSFはJ2EE仕様に従っているため、いろいろな実現方法がある。ここでは、以下のようなプログラムを作成することにする。
  1. 入力用の画面を表示する
  2. 文字を入力する
  3. 送信ボタンを押下する
  4. 画面が再描画され、入力した文字列が表示される

階層

プログラムの階層
  • HelloWorld.java
    • 画面から入力されたデータを受け取るためのクラス
    • BackingBean(別名ManagedBean)と呼ぶ
    • POJO
  • index.jsp
    • 画面JSP
  • web.xml
    • J2EEの
  • faces-config.xml
    • JSFのコンフィグファイル

各ファイルの内容

HelloWorld.java
package backingbean.helloworld;

public class HelloWorld {
    private String helloWorld = null;

    public String getHelloWorld() {
        return helloWorld;
    }

    public void setHelloWorld(String helloWorld) {
        this.helloWorld = helloWorld;
    }
}
BackingBean。String型の変数と、セッター/ゲッター(setter/getter)が定義されている。画面で入力されたデータはフレームワークによって、セッター経由でプロパティに格納され、ゲッター経由で値が参照される。

index.jsp
<%@ page contentType="text/html;charset=Shift_JIS" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<html>
<head>
<title>HelloWorld</title>
</head>
<body>
<f:view>
<h:form>

文字を入力して下さい:<h:inputText id="string" value="#{HelloWorldBean.helloWorld}"/>
<h:commandButton value="送信"/>
<p><h:outputText id="output" value="#{HelloWorldBean.helloWorld}"/></p>

</h:form>
</f:view>
</body>
</html>
ユーザーに表示するための画面JSP。JSFのTaglibを利用してHTMLのフォームを描画する。

web.xml
<?xml version='1.0' encoding='UTF-8'?>

<!DOCTYPE web-app PUBLIC
  "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
  "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>

    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>

    <context-param>
        <param-name>javax.faces.CONFIG_FILES</param-name>
        <param-value>/WEB-INF/faces-config.xml</param-value>
    </context-param>

    <taglib>
        <taglib-uri>/tld/jsf-html</taglib-uri>
            <taglib-location>/WEB-INF/tld/html_basic.tld</taglib-location>
        </taglib>
        <taglib>
            <taglib-uri>/tld/jsf-core</taglib-uri>
        <taglib-location>/WEB-INF/tld/jsf_core.tld</taglib-location>
    </taglib>

</web-app>
JSFで必要なServletの定義と、Taglibの定義。
Faces ServletはJSFアプリケーションで必須となるため、必ず設定する。

faces-config.xml
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE faces-config PUBLIC
  "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
  "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">

<faces-config>
    <managed-bean>
        <managed-bean-name>HelloWorldBean</managed-bean-name>
        <managed-bean-class>backingbean.helloworld.HelloWorld</managed-bean-class>
        <managed-bean-scope>request</managed-bean-scope>
    </managed-bean>
</faces-config>
JSFの設定ファイル。HelloWorld.javaをBackingBeanとして登録

実行結果

Advertisement

ショートカット

634
634ブログ
このカテゴリのトップページに戻る
Incubator(Pukiwiki)
634ラボ
   UIコレクションギャラリー
   ZO-3ジェネレーター

サイト検索


Y!ログール

ビリヤード