-Hello Maya

MayaでHelloWorldプログラミングを行ってみましょう。まず、WEBページのビューデザインであるHTMLテンプレートを作成します。

[list.2 /maya-page/hello.html]
<html>
  <body>
    <span id=”message”>さようなら</span>
  </body>
</html>

[list2]のHTMLファイルは、そのままWEBブラウザで見ることができるごく普通のHTMLです。このファイルをさきほどweb.xmlでMayaServletをディスパッチした/maya-pageフォルダに配置します。

[list.3 /maya-page/hello.maya]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE maya PUBLIC "-//MAYA0.1//DTD maya//EN" 
    "http://www.seasar.org/dtd/maya01.dtd">
<maya>
  <encoding template="UTF-8" page="Windows-31J"/>
  <model name="model" 
     class="sample.org.seasar.maya.hello.HelloModel scope="application""/>
  <taglib prefix="c" url="http://java.sun.com/jstl/core"/>
  <tag id="message" inject="c:out">
    <binding name="value" value="#{ model.greeting }"/>
  </tag>
</maya>

[list.3]はビューデザインとビューモデルをバインディングする設定XMLです。HTMLテンプレートと同じフォルダに配置します。

[list:4 sample.org.seasar.maya.hello.PageModel]
package sample.org.seasar.maya.hellomaya;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
public class HelloModel {
    public String getGreeting() {
        Calendar cal = new GregorianCalendar();
        cal.setTime(new Date());
        int hour = cal.get(Calendar.HOUR_OF_DAY);
        String greeting = "おやすみなさい";
        if(6 <= hour && hour < 12) {
            greeting = "おはようございます";
        } else if(12 <= hour && hour < 18) {
            greeting = "こんにちは";
        } else if(18 <= hour && hour < 24) {
            greeting = "こんばんは";
        }
        return greeting;
    }
}

[list.4]はビューモデルオブジェクトです。ごくありふれたJavaオブジェクト(Plain Old Java Object = POJO)です。ここまで用意して、WEBブラウザより、http://localhost:8080/hellomaya/maya-page/hello.htmlにアクセスすると、昼間(12時〜18時)であれば、

こんにちは

と表示されます。この表示文字列は、HelloModelのgetGreeting()メソッドの実行結果です。