<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE document
	PUBLIC "-//Apache Software Foundation//DTD XDOC 1.0//EN"
	"http://maven.apache.org/dtd/xdoc_1_0.dtd">
<document>
	<properties>
		<title>Extension - 逆引きリファレンス - 出力</title>
	</properties>
	<body>
		<section name="出力">
			<ul>
				<li>
					<a href="#ボディ">ボディ</a>
					<ul>
						<li>
							<a href="#テキストを動的に出力するには">テキストを動的に出力するには</a>
						</li>
						<li>
							<a href="#特殊文字をエスケープしないで出力するには">
								特殊文字をエスケープしないで出力するには
							</a>
						</li>
						<li>
							<a href="#タグを出力したくない場合には">タグを出力したくない場合には</a>
						</li>
						<li>
							<a href="#リクエストやセッションの属性値をボディに出力するには">
								リクエストやセッションの属性値をボディに出力するには
							</a>
						</li>
						<li>
							<a href="#プロパティファイルの内容をボディに出力するには">
								プロパティファイルの内容をボディに出力するには
							</a>
						</li>
						<li>
							<a href="#同じ情報を複数の場所に出力するには">
								同じ情報を複数の場所に出力するには
							</a>
						</li>
					</ul>
				</li>
				<li>
					<a href="#属性">属性</a>
					<ul>
						<li>
							<a href="#属性値を動的に出力するには">属性値を動的に出力するには</a>
						</li>
						<li>
							<a href="#プロパティファイルの内容を属性に出力するには">
								プロパティファイルの内容を属性に出力するには
							</a>
						</li>
					</ul>
				</li>
				<li>
					<a href="#ヘッダ">ヘッダ</a>
					<ul>
						<li>
							<a href="#タイトルを動的に出力するには">タイトルを動的に出力するには</a>
						</li>
						<li>
							<a href="#リクエストやセッションの属性値をタイトルに出力するには">
								リクエストやセッションの属性値をタイトルに出力するには
							</a>
						</li>
						<li>
							<a href="#プロパティファイルの内容をタイトルに出力するには">
								プロパティファイルの内容をタイトルに出力するには
							</a>
						</li>
					</ul>
				</li>
			</ul>
		</section>

		<section name="ボディ">
			<subsection name="テキストを動的に出力するには">
				<p>
					ボディ内のテキストを出力したい位置に
					<code>&lt;span&gt;</code>
					要素を記述して
					<code>id</code>
					属性を付け， その値と同じ名前のプロパティをページクラスに用意します．
				</p>
				<p>
					レンダリング時，
					<code>&lt;span&gt;</code>
					要素の内容はプロパティの値に置き換えられます．
				</p>
				<h5>例：テンプレートHTML (foo.html)</h5>
				<source><![CDATA[
<span id="name">dummy</span>
]]></source>
				<h5>例：ページクラスのプロパティ (FooPage.java)</h5>
				<source><![CDATA[
public String name;
]]></source>
				<h5>例：レンダリング結果</h5>
				<p>
					<code>name</code>
					プロパティの値が
					<code>"Teeda"</code>
					の場合， レンダリング結果は次のようになります．
				</p>
				<source><![CDATA[
<span id="name">Teeda</span>
]]></source>
				<p>
					<code>name</code>
					プロパティの値が
					<code>"&lt;b&gt;Teeda&lt;/b&gt;"</code>
					の場合，
					<code>'&lt;'</code>
					や
					<code>'&gt;'</code>
					はエスケープされ， レンダリング結果は次のようになります．
				</p>
				<source><![CDATA[
<span id="name">&lt;b&gt;Teeda&lt;/b&gt;</span>
]]></source>
			</subsection>

			<subsection name="特殊文字をエスケープしないで出力するには">
				<div class="sidebar">
					<a
						href="../reference/xhtml.html#Teeda_Extension拡張属性">
						Teeda Extension拡張属性
					</a>
					を使用するには
					<code>&lt;html&gt;</code>
					要素で
					<a href="../reference/xhtml.html#te名前空間">te名前空間</a>
					を宣言する必要があります．
				</div>
				<p>
					<code>&lt;span&gt;</code>
					要素の
					<code>te:escape</code>
					属性に
					<code>false</code>
					を指定します．
				</p>
				<p>レンダリング時， プロパティの内容はエスケープされません．</p>
				<h5>例：テンプレートHTML (foo.html)</h5>
				<source><![CDATA[
<span id="name" te:escape="false">dummy</span>
]]></source>
				<h5>例：レンダリング結果</h5>
				<p>
					<code>name</code>
					プロパティの値が
					<code>"&lt;b&gt;Teeda&lt;/b&gt;"</code>
					の場合， レンダリング結果は次のようになります．
				</p>
				<source><![CDATA[
<span id="name"><b>Teeda</b></span>
]]></source>
			</subsection>

			<subsection name="タグを出力したくない場合には">
				<div class="sidebar">
					<a
						href="../reference/xhtml.html#Teeda_Extension拡張属性">
						Teeda Extension拡張属性
					</a>
					を使用するには
					<code>&lt;html&gt;</code>
					要素で
					<a href="../reference/xhtml.html#te名前空間">te名前空間</a>
					を宣言する必要があります．
				</div>
				<p>
					<code>&lt;span&gt;</code>
					要素の
					<code>te:omittag</code>
					属性に
					<code>true</code>
					を指定します．
				</p>
				<p>
					レンダリング時，
					<code>&lt;span&gt;</code>
					要素の開始タグおよび終了タグはレンダリングされません．
				</p>
				<h5>例：テンプレートHTML (foo.html)</h5>
				<source><![CDATA[
<span id="name" te:omittag="true">dummy</span>
]]></source>
				<h5>例：レンダリング結果</h5>
				<p>
					<code>name</code>
					プロパティの値が
					<code>"Teeda"</code>
					の場合， レンダリング結果は次のようになります．
				</p>
				<source><![CDATA[
Teeda
]]></source>
			</subsection>

			<subsection name="リクエストやセッションの属性値をボディに出力するには">
				<p>
					<code>&lt;span&gt;</code>
					要素の
					<code>id</code>
					属性を次のように指定します．
				</p>
				<dl>
					<dt>リクエストの属性を出力する場合</dt>
					<dd>
						<code>'requestScope_'</code>
						+
						<var>attributeName</var>
					</dd>
					<dt>セッションの属性を出力する場合</dt>
					<dd>
						<code>'sessionScope_'</code>
						+
						<var>attributeName</var>
					</dd>
					<dt>アプリケーションコンテキストの属性を出力する場合</dt>
					<dd>
						<code>'applicationScope_'</code>
						+
						<var>attributeName</var>
					</dd>
				</dl>
				<p>
					レンダリング時，
					<code>&lt;span&gt;</code>
					要素の内容はリクエストやセッション，アプリケーションスコープの属性値に置き換えられます．
				</p>
				<h5>例：テンプレートHTML (foo.html)</h5>
				<source><![CDATA[
<span id="sessionScope_name">dummy</span>
]]></source>
				<h5>例：レンダリング結果</h5>
				<p>
					セッションの
					<code>name</code>
					属性の値が
					<code>"Teeda"</code>
					の場合， レンダリング結果は次のようになります．
				</p>
				<source><![CDATA[
<span id="sessionScope_userName">Teeda</span>
]]></source>
			</subsection>

			<subsection name="プロパティファイルの内容をボディに出力するには">
				<div class="sidebar">
					ページクラスに
					<code>id</code>
					と同じ名前のプロパティがある場合はそちらが優先されます． 「
					<a href="#テキストを動的に出力するには">テキストを動的に出力するには</a>
					」を参照してください．
				</div>
				<p>
					<code>&lt;span&gt;</code>
					要素または
					<code>&lt;div&gt;</code>
					要素または
					<code>&lt;caption&gt;</code>
					要素に
					<code>id</code>
					属性を付け， その値を
					<var>key</var>
					+
					<code>Label</code>
					とします．
					<a href="../reference/resource.html#ラベルリソース">
						ラベルリソース
					</a>
					ファイルに
					<var>pagename.key</var>
					または
					<var>key</var>
					という名前のプロパティを定義します．
				</p>
				<p>
					レンダリング時， 要素の内容は
					<a href="../reference/resource.html#ラベルリソース">
						ラベルリソース
					</a>
					ファイルの値に置き換えられます．
				</p>
				<h5>例：テンプレートHTML (foo.html)</h5>
				<source><![CDATA[
<span id="nameLabel">dummy</span>
]]></source>
				<h5>例：ラベルリソースファイル (label_ja.properties)</h5>
				<source><![CDATA[
foo.name=Teeda
]]></source>
				<h5>例：レンダリング結果</h5>
				<p>レンダリング結果は次のようになります．</p>
				<source><![CDATA[
<span id="nameLabel">Teeda</span>
]]></source>
			</subsection>

			<subsection name="同じ情報を複数の場所に出力するには">
				<div class="sidebar">
					HTMLの仕様で
					<code>id</code>
					属性の値はページ内でユニークでなくてはなりません．
				</div>
				<p>
					<code>id</code>
					属性の値に
					<code>'-'</code>
					+
					<var>suffix</var>
					を付加します． 要素の内容は
					<code>'-'</code>
					から後ろを取り除いたプロパティ名やリクエスト／セッション等の属性，あるいはラベルに対応付けられます．
				</p>
				<h5>例：テンプレートHTML (foo.html)</h5>
				<source><![CDATA[
<span id="name-1">dummy</span>
・・・
<span id="name-2">dummy</span>
]]></source>
				<h5>例：ページクラスのプロパティ (FooPage.java)</h5>
				<source><![CDATA[
public String name;
]]></source>
				<h5>例：レンダリング結果</h5>
				<p>
					<code>name</code>
					プロパティの値が
					<code>"Teeda"</code>
					の場合， レンダリング結果は次のようになります．
				</p>
				<source><![CDATA[
<span id="name-1">Teeda</span>
・・・
<span id="name-2">Teeda</span>
]]></source>
			</subsection>
		</section>

		<section name="属性">
			<subsection name="属性値を動的に出力するには">
				<div class="sidebar">この機能は「ダイナミックプロパティ」と呼ばれます．</div>
				<p>
					動的に値を出力したい属性を持つ要素に
					<code>id</code>
					属性を付け，
					<var>id</var>
					+
					<var>attribute</var>
					という名前のプロパティをページクラスに用意します． ただし，
					<var>attribute</var>
					は値を動的に出力したい属性名の先頭を大文字にした名前です．
				</p>
				<p>
					<code>id</code>
					属性にハイフン ('-') が含まれている場合は， ハイフンを取り除いた
					<var>id</var>
					+
					<var>attribute</var>
					というプロパティに対応付けられます． 例えば
					<code>id</code>
					属性が
					<code>foo-1</code>
					で， 属性が
					<code>title</code>
					の場合は，
					<code>foo1Title</code>
					というプロパティに対応付けられます．
				</p>
				<p>
					ただし，属性が
					<code>value</code>
					の場合は， ハイフン
					<strong>以降</strong>
					を取り除いた
					<code>id</code>
					+
					<var>attribute</var>
					というプロパティに対応付けられます． 例えば
					<code>id</code>
					属性が
					<code>foo-1</code>
					で， 属性が
					<code>value</code>
					の場合は，
					<code>fooTitle</code>
					というプロパティに対応付けられます．
				</p>
				<p>レンダリング時， 属性の値は対応するプロパティの値に置き換えられます．</p>
				<h5>例：テンプレートHTML (foo.html)</h5>
				<source><![CDATA[
<span id="foo" style="dummy">dummy</span>
]]></source>
				<h5>例：ページクラスのプロパティ (FooPage.java)</h5>
				<source><![CDATA[
public String fooStyle;
]]></source>
				<h5>例：レンダリング結果</h5>
				<p>
					<code>fooStyle</code>
					プロパティの値が
					<code>"display: none;"</code>
					の場合， レンダリング結果は次のようになります．
				</p>
				<source><![CDATA[
<span id="foo" style="display: none;">dummy</span>
]]></source>
				<div class="caution">
					<div>注意点</div>
					<p>
						<code>class</code>
						属性の値を動的に出力する場合は，
						<var>id</var>
						+
						<code>StyleClass</code>
						という名前のプロパティをページクラスに用意します．
					</p>
					<p>
						例えば，
						<var>id</var>
						属性の値が
						<code>foo</code>
						であれば，
						<code>fooStyleClass</code>
						という名前のプロパティをページクラスに用意します．
					</p>
				</div>
			</subsection>

			<subsection name="プロパティファイルの内容を属性に出力するには">
				<div class="sidebar">
					ページクラスに
					<var>id</var>
					+
					<var>attribute</var>
					というプロパティがある場合はダイナミックプロパティが優先されます． 「
					<a href="#属性値を動的に出力するには">属性値を動的に出力するには</a>
					」を参照してください．
				</div>
				<p>
					要素に
					<code>id</code>
					属性を付け，プロパティファイルの内容を出力したい属性の値を
					<var>key</var>
					+
					<code>Label</code>
					とします．
					<a href="../reference/resource.html#ラベルリソース">
						ラベルリソース
					</a>
					ファイルに
					<var>pagename.key</var>
					または
					<var>key</var>
					という名前のプロパティを定義します．
				</p>
				<p>
					レンダリング時， 属性の値は
					<a href="../reference/resource.html#ラベルリソース">
						ラベルリソース
					</a>
					ファイルの値に置き換えられます．
				</p>
				<h5>例：テンプレートHTML (foo.html)</h5>
				<source><![CDATA[
<img id="barImg" src="../image/bar.png" alt="barImgLabel" />
]]></source>
				<h5>例：ラベルリソースファイル (label_ja.properties)</h5>
				<source><![CDATA[
foo.barImg=概念図
]]></source>
				<h5>例：レンダリング結果</h5>
				<p>レンダリング結果は次のようになります．</p>
				<source><![CDATA[
<img id="barImg" src="../image/bar.png" alt="概念図" />
]]></source>
				<p>
					<a href="input.html#サブミットボタン">サブミットボタン</a>
					の
					<code>value</code>
					属性の場合は，
					<a href="../reference/resource.html#ラベルリソース">
						ラベルリソース
					</a>
					ファイルに
					<var>pagename.id</var>
					または
					<var>id</var>
					という名前のプロパティがあれば， それが属性値として使われます． このルールは，
					<code>value</code>
					属性の値が
					<var>key</var>
					+
					<code>Label</code>
					の場合でも， 優先的に適用されます．
				</p>
				<h5>例：テンプレートHTML (foo.html)</h5>
				<source><![CDATA[
<input type="submit" id="doSubmit" value="dummyLabel" />
]]></source>
				<h5>例：ラベルリソースファイル (label_ja.properties)</h5>
				<source><![CDATA[
foo.doSubmit=送信
foo.dummy=ダミー
]]></source>
				<h5>例：レンダリング結果</h5>
				<p>レンダリング結果は次のようになります．</p>
				<source><![CDATA[
<input type="submit" id="doSubmit" value="送信" />
]]></source>
			</subsection>
		</section>

		<section name="ヘッダ">
			<subsection name="タイトルを動的に出力するには">
				<p>
					<code>&lt;title&gt;</code>
					要素に
					<code>id</code>
					属性を付け， その値に
					<code>Value</code>
					を付加した名前のプロパティをページクラスに用意します．
				</p>
				<p>
					レンダリング時，
					<code>&lt;title&gt;</code>
					要素の内容はプロパティの値に置き換えられます．
				</p>
				<h5>例：テンプレートHTML (foo.html)</h5>
				<source><![CDATA[
<title id="title">dummy</title>
]]></source>
				<h5>例：ページクラスのプロパティ (FooPage.java)</h5>
				<source><![CDATA[
public String titleValue;
]]></source>
				<h5>例：レンダリング結果</h5>
				<p>
					<code>titleValue</code>
					プロパティの値が
					<code>"Teeda"</code>
					の場合， レンダリング結果は次のようになります．
				</p>
				<source><![CDATA[
<title id="title">Teeda</title>
]]></source>
			</subsection>

			<subsection name="リクエストやセッションの属性値をタイトルに出力するには">
				<p>
					<code>&lt;title&gt;</code>
					要素の
					<code>id</code>
					属性を次のように指定します．
				</p>
				<dl>
					<dt>リクエストの属性を出力する場合</dt>
					<dd>
						<code>'requestScope_'</code>
						+
						<var>attributeName</var>
					</dd>
					<dt>セッションの属性を出力する場合</dt>
					<dd>
						<code>'sessionScope_'</code>
						+
						<var>attributeName</var>
					</dd>
					<dt>アプリケーションコンテキストの属性を出力する場合</dt>
					<dd>
						<code>'applicationScope_'</code>
						+
						<var>attributeName</var>
					</dd>
				</dl>
				<p>
					レンダリング時，
					<code>&lt;title&gt;</code>
					要素の内容はリクエストやセッション，アプリケーションスコープの属性値に置き換えられます．
				</p>
				<h5>例：テンプレートHTML (foo.html)</h5>
				<source><![CDATA[
<title id="sessionScope_name">dummy</title>
]]></source>
				<h5>例：レンダリング結果</h5>
				<p>
					セッションの
					<code>name</code>
					属性の値が
					<code>"Teeda"</code>
					の場合， レンダリング結果は次のようになります．
				</p>
				<source><![CDATA[
<title id="sessionScope_userName">Teeda</title>
]]></source>
			</subsection>

			<subsection name="プロパティファイルの内容をタイトルに出力するには">
				<p>
					<code>&lt;title&gt;</code>
					要素に
					<code>id</code>
					属性を付け，
					<a href="../reference/resource.html#ラベルリソース">
						ラベルリソース
					</a>
					ファイルに
					<var>pagename.id</var>
					または
					<var>id</var>
					という名前のプロパティを定義します．
				</p>
				<p>
					レンダリング時，
					<code>&lt;title&gt;</code>
					要素の内容は
					<a href="../reference/resource.html#ラベルリソース">
						ラベルリソース
					</a>
					ファイルの値に置き換えられます．
				</p>
				<h5>例：テンプレートHTML (foo.html)</h5>
				<source><![CDATA[
<title id="title">dummy</title>
]]></source>
				<h5>例：ラベルリソースファイル (label_ja.properties)</h5>
				<source><![CDATA[
foo.title=Teeda
]]></source>
				<h5>例：レンダリング結果</h5>
				<p>レンダリング結果は次のようになります．</p>
				<source><![CDATA[
<title id="title">Teeda</title>
]]></source>
			</subsection>
		</section>
	</body>
</document>
