トップ  eラーニング  書籍紹介  用語集

Google

言語

開発環境

Webアプリ/ミドル

データベース

OS/ネットワーク

ITスキル

海外サイト翻訳

書籍検索

用語検索

画面間のデータ受け渡しサンプル:Hello XXX表示アプリ-Seasar2(Teeda)

画面にhello XXXX!!と表示する画面間でデータを受け渡しするサンプルを紹介しています。

説明

Teedaで画面遷移するためには、doXXXメソッドの戻り値を遷移先のクラスにします。

また、遷移元と遷移先で同じプロパティがあった場合は、自動でその値が引きつがれます。 本サンプルでは、同じプロパティを上位のクラスにまとめて、それを継承しています。

動作環境

以下の環境を前提に記載。

ソースコード

ページ(helloCall.html)

データの受け渡し元のページです。


<html>
<head>
<title>Hello</title>
</head>
<body>
<form id="form">
name<input type="text" id="nameStr" />
<input type="button" id="doHello" value="submit"/>
</form>
</body>
</html>

ページ(hello.html)

データを表示するページです。 helloCall.htmlと同じ「id="nameStr"」を使用しています。


<html>
<head>
<title>Hello</title>
</head>
<body>
Hello <span id="nameStr">name</span>!!
</body>
</html>

ページクラス(AbstractHelloPage.java)

ページ共通部分を扱う抽象クラスです。


package hello.web;
public abstract class AbstractHelloPage {
    public String nameStr;
}

ページクラス(HelloCallPage.java)

データの受け渡し元のページクラスです。


package hello.web;
public class HelloCallPage extends AbstractHelloPage {
    public Class<?> doHello() {
        return HelloPage.class;
    }
}

ページクラス(HelloPage.java)

データを表示するページのページクラスです。


package hello.web;
public class HelloPage extends AbstractHelloPage {
}

tomcatの設定(server.xml)


<?xml version='1.0' encoding='utf-8'?>
<Server port="8005" shutdown="SHUTDOWN">

  <!--: 省略-->

  <Service name="Catalina">
    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"
               URIEncoding="UTF-8" />

    <Connector port="8009"
               protocol="AJP/1.3"
               redirectPort="8443"
               URIEncoding="UTF-8" />
    <Engine name="Catalina" defaultHost="localhost">
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
             resourceName="UserDatabase"/>
      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="false"
            xmlValidation="false" xmlNamespaceAware="false">
        <Context path="/test"
                 docBase="<tomcatホームディレクトリ>/webapps/test"
                 debug="0" reloadable="true">
        </Context>
      </Host>
    </Engine>
  </Service>
</Server>

アプリの構成

自動生成された<Eclipseプロジェクト配下>src/main/webapp配下を /webapps/test配下にコピーする。


□tomcatホームディレクトリ
├─conf
|      server.xml
└─webapps
    └─test
        │  index.jsp
        ├─view
        │  │  helloCall.html
        │  │  hello.html
        │  └─error
        │          error.html
        └─WEB-INF
            │  faces-config.xml
            │  web.xml
            ├─classes
            │  │  app.dicon
            │  │  appMessages.properties
            │  │  appMessages_ja.properties
            │  │  app_aop.dicon
            │  │  convention.dicon
            │  │  creator.dicon
            │  │  customizer.dicon
            │  │  env.txt
            │  │  env_ut.txt
            │  │  hello.html
            │  │  jdbc.dicon
            │  │  log4j.properties
            │  │  s2container.dicon
            │  │  teedaCustomize.dicon
            │  │  teedaErrorPage.dicon
            │  ├─error
            │  │      error.html
            │  └─hello
            │      ├─converter
            │      ├─dao
            │      ├─dto
            │      ├─dxo
            │      ├─entity
            │      ├─helper
            │      ├─logic
            │      ├─service
            │      ├─validator
            │      └─web
            │          │  AbstractHelloPage.class
            │          │  HelloCallPage.class
            │          │  HelloPage.class
            │          └─error
            │                  ErrorPage.class
            └─lib
                │  aopalliance-1.0.jar
                │  commons-collections-3.1.jar
                │  commons-el-1.0.jar
                │  commons-fileupload-1.2.jar
                │  commons-io-1.3.2.jar
                │  commons-logging-1.1.jar
                │  geronimo-jta_1.1_spec-1.0.jar
                │  h2-1.0.69.jar
                │  javassist-3.4.ga.jar
                │  jstl-1.1.2.jar
                │  log4j-1.2.13.jar
                │  mysql-connector-java-5.0.8-bin.jar
                │  ognl-2.6.9-patch-20090427.jar
                │  poi-3.0-FINAL.jar
                │  s2-dao-1.0.51.jar
                │  s2-dao-tiger-1.0.51.jar
                │  s2-extension-2.4.43.jar
                │  s2-framework-2.4.43.jar
                │  s2-tiger-2.4.43.jar
                │  teeda-ajax-1.0.13-sp10.jar
                │  teeda-core-1.0.13-sp10.jar
                │  teeda-extension-1.0.13-sp10.jar
                │  teeda-tiger-1.0.13-sp10.jar
                │  xercesImpl-2.6.2.jar
                │  xmlParserAPIs-2.6.2.jar
                └─sources
                        commons-collections-3.1-sources.jar
                        commons-el-1.0-sources.jar
                        commons-fileupload-1.2-sources.jar
                        commons-io-1.3.2-sources.jar
                        commons-logging-1.1-sources.jar
                        log4j-1.2.13-sources.jar
                        s2-dao-1.0.51-sources.jar
                        s2-dao-tiger-1.0.51-sources.jar
                        s2-extension-2.4.43-sources.jar
                        s2-framework-2.4.43-sources.jar
                        s2-tiger-2.4.43-sources.jar
                        teeda-ajax-1.0.13-sp10-sources.jar
                        teeda-core-1.0.13-sp10-sources.jar
                        teeda-extension-1.0.13-sp10-sources.jar
                        teeda-tiger-1.0.13-sp10-sources.jar

動作確認

tomcatを起動し、ブラウザより「http://<tomcatサーバのホスト>:8080/test/view/helloCall.html」へアクセスし、 入力エリアに「XXX」と入力し、submitボタンを押下すると、hello.htmlに遷移し、 「Hello XXX!! 」と表示される。

戻る

Loarding…

グループサイト  zealseeds  zealseedsラーニング  zealseedsブックス  名か字  名科辞典  幸福の木の育て方

Copyright (C) 2007-2011 zealseeds. All Rights Reserved.お問合せ