About

General

Teeda Core

Teeda Extension

Teeda Ajax

プロジェクト文書

モジュール

Built by Maven

レイアウト

レイアウトを使うには

ビュールート /layout/layout.html に画面全体の構造を定義します.

layout.html<body> 要素内では,実際にリクエストされたページを表示する位置を <te:includeChildBody> 要素で, その他の部品化されたHTMLを表示する位置を <te:include> 要素で指定します.

<te:includeChildBody> 要素及び <te:include> 要素には id 属性を付け,任意の名前を指定します. <te:include> 要素には te:src 属性でインクルードする部品化されたHTMLのパスを指定します.

レンダリング時, <te:includeChildBody> 要素は実際にリクエストされたページの <body> 要素の内容で, <te:include> 要素は te:src 属性で指定されたHTMLの <body> 要素の内容で, それぞれ置き換えられます. また, <title> 要素の内容は実際にリクエストされたページの <title> 要素の内容に置き換えられます.

例:レイアウトHTML (layout.html)
<!DOCTYPE html 
    PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:te="http://www.seasar.org/teeda/extension" 
    xml:lang="ja" lang="ja">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title>レイアウトのタイトル</title>
    </head>
    <body>
        <table>
            <tr>
                <td>
                    <te:include id="includeHeader" te:src="/layout/header.html" />
                </td>
            </tr>
            <tr>
                <td>
                    <te:includeChildBody id="includeChildBody"/>
                </td>
            </tr>
            <tr>
                <td>
                    <te:include id="includeFooter" te:src="/layout/footer.html" />
                </td>
            </tr>
        </table>
    </body>
</html>
例:リクエストされた本体のHTML (foo.html)
<!DOCTYPE html 
    PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:te="http://www.seasar.org/teeda/extension" 
    xml:lang="ja" lang="ja">
    <head>
        <title>本体のタイトル</title>
    </head>
    <body>
        <span id="name">本体</span>
    </body>
</html>
例:テンプレートHTML (foo.html)
<!DOCTYPE html 
    PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:te="http://www.seasar.org/teeda/extension" 
    xml:lang="ja" lang="ja">
    <head>
        <title>本体のタイトル</title>
    </head>
    <body>
        <p>本体</p>
    </body>
</html>
例:ヘッダHTML (header.html)
<!DOCTYPE html 
    PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:te="http://www.seasar.org/teeda/extension" 
    xml:lang="ja" lang="ja">
    <head>
        <title>ヘッダのタイトル</title>
    </head>
    <body>
        <p>ヘッダ</p>
    </body>
</html>
例:フッタHTML (footer.html)
<!DOCTYPE html 
    PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:te="http://www.seasar.org/teeda/extension" 
    xml:lang="ja" lang="ja">
    <head>
        <title>フッタのタイトル</title>
    </head>
    <body>
        <p>フッタ</p>
    </body>
</html>
例:レンダリング結果
<!DOCTYPE html 
    PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:te="http://www.seasar.org/teeda/extension" 
    xml:lang="ja" lang="ja">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title>本体のタイトル</title>
    </head>
    <body>
        <table>
            <tr>
                <td>
                    <p>ヘッダ</p>
                </td>
            </tr>
            <tr>
                <td>
                    <p>本体</p>
                </td>
            </tr>
            <tr>
                <td>
                    <p>フッタ</p>
                </td>
            </tr>
        </table>
    </body>
</html>

特定の画面だけ異なったレイアウトを使うには

異なったレイアウトを使う画面のページクラスに getLayout() メソッドを用意して, 戻り値で使用するレイアウトのビュールート (デフォルトは /view ) からのパスを指定します. このメソッドは public で引数はなく,戻り値の型は String です.

例:ページクラス (FooPage.java)
public String getLayout() {
    return "/layout/otherLayout.html";
}

特定の画面だけレイアウトを使わないようにするには

レイアウトを使わない画面のページクラスに getLayout() メソッドを用意して,戻り値として null を返します. このメソッドは public で引数はなく,戻り値の型は String です.

例:ページクラス (FooPage.java)
public Class getLayout() {
    return null;
}

デフォルトで使用するレイアウトを変更するには

web.xml のコンテキストパラメータでデフォルトで使用するレイアウトを指定します. パラメータ名は teeda.DEFAULT_LAYOUT_PATH で,値はビュールート (デフォルトは /view ) からのパスです.

例:web.xml
<context-param>
    <param-name>teeda.DEFAULT_LAYOUT_PATH</param-name>
    <param-value>/layout/myLayout.html</param-value>
</context-param>