SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Javaで軽快に使える「軽量フレームワーク」特集

Javaで軽快に使える「軽量フレームワーク」特集
~小さなライブラリ1つで動くStripes Framework(1)

第17回

  • X ポスト
  • このエントリーをはてなブックマークに追加

JSPファイルを作ってみる

 では、簡単なWebページを作成してみましょう。Stripesでは、WebページはJSPを使って作成するのが基本です。WebContent内に、「helo.jsp」というファイル名でJSPファイルを作成します。そしてテキストエンコーディングをUTF-8に設定し、次のように記述してください。

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<%@ taglib prefix="stripes"
    uri="http://stripes.sourceforge.net/stripes.tld"%>
<!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>Helo</title>
  </head>
  <body>
    <h1>Helo Stripes.</h1>
    <p>これはサンプルページです。</p>
  </body>
</html>

 Stripesを使うといっても、ここでは<%@ taglib %>を使ってライブラリを読み込んでいるだけで、Stripesの機能は使っていません。作成したらサーバを起動してWebページにアクセスをしてみてください。アドレスは、通常のJSPファイルの場合とまったく変わりません。例えば「helo.jsp」というファイル名であれば、「http://localhost:8080/stripes_app/helo.jsp」といったアドレスにアクセスすればよいわけです。

http://localhost:8080/stripes_app/helo.jspにアクセスするとページが表示される
http://localhost:8080/stripes_app/helo.jspにアクセスするとページが表示される

フォームを生成する

 とりあえずJSPが動くことは分かりました。では、Stripesの機能を使ってページを作成していきましょう。まずは簡単なフォームを生成し、送信してみることにしましょう。先ほどの「helo.jsp」を次のように書き直してください。

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<%@ taglib prefix="stripes"
    uri="http://stripes.sourceforge.net/stripes.tld"%>

<!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>Helo</title>
  </head>
  <body>
    <h1>Helo Stripes.</h1>
    <p>お名前を送信してください。</p>
    <stripes:form beanclass="jp.codezine.HeloActionBean">
      <table>
        <tr>
          <td>Result:</td>
          <td>${actionBean.result}</td>
        </tr>
        <tr>
          <td>input:</td>
          <td><stripes:text name="input1" /><br>
          </td>
        </tr>
        <tr>
          <td colspan="2"><stripes:submit name="submit" value="Submit" />
          </td>
        </tr>
      </table>
    </stripes:form>
  </body>
</html>
作成したJSPページ。このようなフォームが表示される。ただし、まだ動かない
作成したJSPページ。このようなフォームが表示される。ただし、まだ動かない

 これは、入力フィールドが1つあるだけのごくシンプルなフォームを持ったページです(ただし、まだフォームを送信した時の処理など用意していないためこのままでは動きません)。ここでは、Stripesに用意されているいくつかのタグを使っています。以下に整理しておきましょう。

フォームの生成
<stripes:form beanclass="jp.codezine.HeloActionBean">
</stripes:form>

 フォームの生成(すなわち、<form>~</form>タグの生成)を行っているのが、この部分です。<stripes:form>が<form>タグ、</stripes:form>が</form>タグを生成します。<stripes:form>では、「beanclass」という属性が1つだけ用意されています。これは、このフォームを扱うためのBeanクラスを指定するものです。Stripesでは、<stripes:form>はそれぞれ対応するBeanを持っており、「クライアント側の表示=<stripes:form>タグ」「サーバ側の処理=Beanクラス」という形で作成されるようになっています。

 非常に不思議なのは、通常の<form>には必須のmethodやactionといった属性がまったく用意されないことでしょう。Stripesでは、フォームはただ「どのBeanで処理するか」を指定するだけなのです。

コントロール類の生成
<stripes:text name="input1"/>
<stripes:submit name="submit" value="Submit"/>

 ここでは入力フィールド(<input type="text">タグ)と送信ボタン(<input type="submit">)を生成しています。これらは<stripes:text>、<stripes:submit>というタグとして用意されています。属性としてnameとvalueを用意してあります。nameは、Bean側でコントロールの値などを扱う際に必要となるので、必ず用意すると考えてください。

次のページ
Beanクラスを作成する

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Javaで軽快に使える「軽量フレームワーク」特集連載記事一覧

もっと読む

この記事の著者

掌田 津耶乃(ショウダ ツヤノ)

三文ライター&三流プログラマ。主にビギナーに向けたプログラミング関連の執筆を中心に活動している。※現在、入門ドキュメントサイト「libro」、カード型学習サイト「CARD.tuyano.com」を公開...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/5249 2010/07/02 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング